① 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'))
--删除该约束
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
这个语句应该能删掉了吧,找约束名的那个我也没有试过,你试试看吧。
实在不行就只有删了表重建