【數據庫】UPDATE 語句與 REFERENCE 約束""衝突。該衝突發生於數據庫"",表"", column ''。

一、問題

當我們已經成功創建了一個觸發器,觸發器是功能是:如果在學生表中修改了學號,則自動修改成績表中的學號。
但是檢驗時,修改學生表的學號卻遇到如下報錯:
在這裏插入圖片描述

消息 547,級別 16,狀態 0,第 71 行
UPDATE 語句與 REFERENCE 約束"FK_Score_Student"衝突。該衝突發生於數據庫"ScoreDB",表"dbo.Score", column ‘studentNo’。
語句已終止。

二、分析原因

通過報錯提示,我們可以知道參照約束有問題,
在這裏插入圖片描述
問題是發生在ScoreDB數據庫下的Score表studentNo列。
在這裏插入圖片描述
如圖:
在這裏插入圖片描述
點擊該外鍵約束,發現更新規則和刪除規則默認沒有調整。所以當原來Student表的主鍵studentNo發生修改時,外鍵約束到的Score表是拒絕修改的。
在這裏插入圖片描述

三、解決辦法

把該外鍵約束的更新規則和刪除規則改爲級聯,就可以了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章