sql – 如何从表列中删除唯一约束?
发布时间:2020-12-12 16:30:58 所属栏目:MsSql教程 来源:网络整理
导读:我有一个表’users’用’login’列定义为: [login] VARCHAR(50) UNIQUE NOT NULL 现在我想使用SQL脚本去除这个唯一的约束/索引.我在本地数据库中找到了它的名字UQ_users_7D78A4E7,但是我想在另一个数据库中有一个不同的名字. 什么是删除这个独特约束的最佳方
我有一个表’users’用’login’列定义为:
[login] VARCHAR(50) UNIQUE NOT NULL 现在我想使用SQL脚本去除这个唯一的约束/索引.我在本地数据库中找到了它的名字UQ_users_7D78A4E7,但是我想在另一个数据库中有一个不同的名字. 什么是删除这个独特约束的最佳方法?或至少任何… 谢谢. 解决方法SKINDER,你的代码不使用列名.正确的脚本是:declare @table_name nvarchar(256) declare @col_name nvarchar(256) declare @Command nvarchar(1000) set @table_name = N'users' set @col_name = N'login' select @Command = 'ALTER TABLE ' + @table_name + ' drop constraint ' + d.name from sys.tables t join sys.indexes d on d.object_id = t.object_id and d.type=2 and d.is_unique=1 join sys.index_columns ic on d.index_id=ic.index_id and ic.object_id=t.object_id join sys.columns c on ic.column_id = c.column_id and c.object_id=t.object_id where t.name = @table_name and c.name=@col_name print @Command --execute (@Command) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |