gpt4 book ai didi

sql-server - 在 SQL Server 数据库中使用脚本删除主键

转载 作者:行者123 更新时间:2023-12-01 18:14:11 26 4
gpt4 key购买 nike

我需要删除表的主键 Student在 SQL Server 数据库中。

我已经在表格中进行了编辑,我得到的脚本是

ALTER TABLE dbo.Student
DROP CONSTRAINT PK__Student__9CC368536561EF8B

但是当我在 SQL Server 查询浏览器中运行此脚本以删除主键时

显示消息

Msg 3728, Level 16, State 1, Line 1
'PK__Student__9CC368536561EF8B' is not a constraint.
Msg 3727, Level 16, State 0, Line 1

就我而言,我认为 PK__Student__9CC368536561EF8B这将是随机生成的请帮助我使用脚本删除主键约束。

提前致谢

最佳答案

您可以在sys.key_constraints表中查找约束名称:

SELECT name
FROM sys.key_constraints
WHERE [type] = 'PK'
AND [parent_object_id] = Object_id('dbo.Student');

如果您不关心名称,而只是想删除它,则可以将其与动态sql结合使用:

DECLARE @table NVARCHAR(512), @sql NVARCHAR(MAX);

SELECT @table = N'dbo.Student';

SELECT @sql = 'ALTER TABLE ' + @table
+ ' DROP CONSTRAINT ' + name + ';'
FROM sys.key_constraints
WHERE [type] = 'PK'
AND [parent_object_id] = OBJECT_ID(@table);

EXEC sp_executeSQL @sql;

此代码来自 Aaron Bertrand (source)。

关于sql-server - 在 SQL Server 数据库中使用脚本删除主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13948344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com