gpt4 book ai didi

sql-server - 如何以编程方式禁用主键约束?

转载 作者:行者123 更新时间:2023-12-02 14:07:33 24 4
gpt4 key购买 nike

我的 MS SQL Server 2005 表中有一个带有主键的表。我想禁用它。现在我收到错误:

违反主键约束“PK_Name”。无法在对象“dbo.Table”中插入重复的键。

我希望不要发生此错误,并像使用没有约束的普通列一样使用主键,而不是在对其进行更改后恢复此约束。如何禁用此约束?

我想要在主键约束禁用时执行的查询很复杂,并且会更改主键列中的值。在这个查询的某些点上,当我在主键列中有重复值时,就会遇到这种情况。但在查询结束时,我的所有值都是唯一的。

我对这个约束不太了解,因为我不是这个表的设计者。我有它的名称,但我现在不知道它是否是集群的等等(此列的配置是什么)。

最佳答案

ALTER TABLE mytable DROP CONSTRAINT PK_Name

要重新启用它:

ALTER TABLE mytable ADD CONSTRAINT PK_Name PRIMARY KEY /* CLUSTERED */ (pk_column)

如果您希望 PRIMARY KEY 聚集(即表行本身正在排序),请取消注释 CLUSTERED

要确定 PRIMARY KEY 是否聚集在 not 上,请发出:

EXEC sp_help 'mytable'

并查看返回的第 6 结果集。

关于sql-server - 如何以编程方式禁用主键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/737152/

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