【发布时间】:2009-09-04 14:07:10
【问题描述】:
我需要更新记录的主键,但它也是另外两个表中的外键。而且我需要更新后的主键也反映在子表中。
这是我的查询和错误:
begin tran
update question set questionparent = 10000, questionid= 10005 where questionid = 11000;
错误 9/4/2009 10:04:49 AM 0:00:00.000 SQL Server 数据库错误:UPDATE 语句与 REFERENCE 约束“FK_GoalRequirement_Question”冲突。冲突发生在数据库“numgmttest”、表“dbo.GoalRequirement”、列“QuestionID”中。 14 0
我不记得该怎么做,所以这就是我在这里的原因。有什么帮助吗?
【问题讨论】:
-
另一种选择:避免使用可更改的主键。改为使用 IDENTITY 作为主键。对需要唯一的列保持唯一约束。这可能超出您的控制范围,但它对我们很有用。我们的用户可以随意更改 ID,并且不会影响实际的主键。
标签: sql-server