当前位置:首页 » 编程语言 » sql删除唯一约束
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql删除唯一约束

发布时间: 2022-01-17 21:50:56

sql语句删除唯一性约束

出现这种提示时,可改为sql语句删除即可,示例如下:

alter table tablename drop constraint 索引名称

② 删除唯一性约束的sql语句

--找出UNIQUE 约束所在的表
select o.name as [约束所在表],c.name as [关联字段]
from sys.objects o join sys.foreign_key_columns f on o.object_id=f.parent_object_id
join sys.columns c on o.object_id=c.object_id
where f.referenced_object_id=object_id('你的表名')

--查找约束名字
exec sp_helpconstraint [约束所在表]

--删除该约束
alter table [约束所在表] drop constraint XXXX

--最后删除你的索引
drop index stu_limit_table.sub_number_unique on tbname(column)

③ oracle删除唯一约束sql语句

假如有主表 test_main 与 子表 test_sub
SQL> -- 创建外键(默认选项)
SQL> ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;
Table altered.
删除外键约束
ALTER TABLE test_sub DROP CONSTRAINT main_id_cons;

④ 用sqlsever的查询器删除一个表中的姓名唯一性约束

alter table EMPLOYEE drop constraint 约束名;
如果你不知道这个唯一约束的名字,
可以插入一条相同的name值,查询分析器会报错,
下面有约束名,复制,然后再粘贴到上面的语句里。

⑤ 怎么取消字段唯一性约束

1)禁止所有表约束的SQL
select 'alter table '+name+' nocheck constraint all' from sysobjects where type='U'

2)删除所有表数据的SQL
select 'TRUNCATE TABLE '+name from sysobjects where type='U'

3)恢复所有表约束的SQL
select 'alter table '+name+' check constraint all' from sysobjects where type='U'

4)删除某字段的约束
declare @name varchar(100)
--DF为约束名称前缀
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('表名') and b.id=a.cdefault and a.name='字段名' and b.name like 'DF%'
--删除约束
alter table 表名 drop constraint @name
--为字段添加新默认值和约束
ALTER TABLE 表名 ADD CONSTRAINT @name DEFAULT (0) FOR [字段名]

--删除约束
ALTER TABLE tablename
Drop CONSTRAINT 约束名
--修改表中已经存在的列的属性(不包括约束,但可以为主键或递增或唯一)
ALTER TABLE tablename
alter column 列名 int not null
--添加列的约束
ALTER TABLE tablename
ADD CONSTRAINT DF_tablename_列名 DEFAULT(0) FOR 列名
--添加范围约束
alter table tablename add check(性别 in ('M','F'))

⑥ sql数据库怎么删除字段的唯一约束

--删除该约束
alter table [约束所在表] drop constraint XXXX

⑦ 如何用sql语句删除默认约束

declare@constraintNamevarchar(200)

select@constraintName=b.namefromsyscolumnsa,sysobjectsbwherea.id=object_id('TB_KYSubProject')andb.id=a.cdefaultanda.name='Final_Belong_Programme'andb.namelike'DF%'

SELECT@constraintName

exec('altertableTB_KYSubProjectdropconstraint'+@constraintName)

注意:

1.sql中constraint 前缀PK、UK、DF、CK、FK:

PK是primary key缩写,主键约束

UK是unique key缩写,唯一约束

CK是check缩写,检查约束

FK是foreign缩写,主外键关系

DF是default缩写,默认值约束

2.syscolumns

cdefault:int该列的默认值 ID。

id:int该列所属的表对象 ID,或与该参数关联的存储过程 ID。

name:sysname列名或过程参数的名称。

3.object_id函数

该函数会返回指定对象的ID值

⑧ sql怎么去掉指定字段唯一约束

1)禁止所有表约束的SQL
select'altertable'+name+'nocheckconstraintall'fromsysobjectswheretype='U'

2)删除所有表数据的SQL
select'TRUNCATETABLE'+namefromsysobjectswheretype='U'

3)恢复所有表约束的SQL
select'altertable'+name+'checkconstraintall'fromsysobjectswheretype='U'

4)删除某字段的约束
declare@namevarchar(100)
--DF为约束名称前缀
select@name=b.namefromsyscolumnsa,sysobjectsbwherea.id=object_id('表名')andb.id=a.cdefaultanda.name='字段名'andb.namelike'DF%'
--删除约束
altertable表名dropconstraint@name
--为字段添加新默认值和约束
ALTERTABLE表名ADDCONSTRAINT@nameDEFAULT(0)FOR[字段名]

--删除约束
ALTERTABLEtablename
DropCONSTRAINT约束名
--修改表中已经存在的列的属性(不包括约束,但可以为主键或递增或唯一)
ALTERTABLEtablename
altercolumn列名intnotnull
--添加列的约束
ALTERTABLEtablename
ADDCONSTRAINTDF_tablename_列名DEFAULT(0)FOR列名
--添加范围约束
altertabletablenameaddcheck(性别in('M','F'))

如何删除unique唯一约束

drop index `name` on test;
删除这个唯一索引就可以了
祝你愉快,满意请采纳哦

⑩ 请教如何用SQL语句删掉这个唯一约束,数据库是DB2

如果你创建约束时没有命名,DB2 会基于创建时间戳来为其命名,比如 SQL100419222516560。
你可以在DB2 CLP里面找到它命名的约束名
db2 select constname, tabname, btype, bname,constraint-name from syscat.constdep
然后再根据
alter table tabname drop unique constraint-name
这个语句应该能删掉了吧,找约束名的那个我也没有试过,你试试看吧。
实在不行就只有删了表重建