我需要更新記錄的主鍵,但它也是另外兩個表中的外鍵。而且我需要更新的主鍵也反映在子表中。SQL Server更新主鍵也是兩個表中的外鍵
這裏是我的查詢和錯誤:
begin tran
update question set questionparent = 10000, questionid= 10005 where questionid = 11000;
Error 9/4/2009 10:04:49 AM 0:00:00.000 SQL Server Database Error: The UPDATE statement conflicted with the REFERENCE constraint "FK_GoalRequirement_Question". The conflict occurred in database "numgmttest", table "dbo.GoalRequirement", column 'QuestionID'. 14 0
我不記得如何去這樣做,所以這就是爲什麼我在這裏。任何幫助?
另一種選擇:避免有一個可更改的主鍵。改爲使用IDENTITY作爲主鍵。對需要唯一的列保持唯一的約束。這可能超出了你的控制範圍,但它對我們來說很好。我們的用戶可以根據自己的需要更改ID,但不會影響實際的主鍵。 – 2009-09-04 14:23:34