因為操作違反了表間參照完整性所以報錯。解決方法是先在有關聯的一方表新增相應的記錄,然後再於多方表追加或修改對應的記錄;又或者只新增或修改為一方表已經存在的關聯記錄到多方表。當然刪除相應的表間關係也可以避免報錯,但是這是最糟糕的解決辦法,因為這樣會破壞資料結構的嚴整性!假設學生表和成績表透過學生ID欄位建立了一對多參照完整性關係,如果為成績表新增一條學生ID為“0100”的成績記錄,而學生表裡並不存在“0100”的學生ID,或者修改某條成績記錄的“學生ID”為一個學生表中不存在的“學生ID”;反之若果成績表裡已經存在“學生ID”為“0100”的成績記錄,現在要刪除學生表裡“學生ID”為“0100”的記錄(若未設定級聯刪除的話),這些都會導致違反外來鍵約束。參照完整性要求表間關係中不允許引用不存在的實體。兩張表之間如果實施了參照完整性(也可稱之為設定了外來鍵約束),關聯表的某一方表中的記錄發生新增、更新和刪除等操作時,要是這些操作違反了外來鍵約束,系統就會報錯並拒絕執行相應操作以保持資料始終處於完整、和諧和正確的狀態並可減少冗餘。
注意各表輸入時的相關順序,從主表開始。例:先在“課程表”中輸入了課程名和課程號後,才能在“成績”表中輸入相關課程的成績!
因為操作違反了表間參照完整性所以報錯。解決方法是先在有關聯的一方表新增相應的記錄,然後再於多方表追加或修改對應的記錄;又或者只新增或修改為一方表已經存在的關聯記錄到多方表。當然刪除相應的表間關係也可以避免報錯,但是這是最糟糕的解決辦法,因為這樣會破壞資料結構的嚴整性!假設學生表和成績表透過學生ID欄位建立了一對多參照完整性關係,如果為成績表新增一條學生ID為“0100”的成績記錄,而學生表裡並不存在“0100”的學生ID,或者修改某條成績記錄的“學生ID”為一個學生表中不存在的“學生ID”;反之若果成績表裡已經存在“學生ID”為“0100”的成績記錄,現在要刪除學生表裡“學生ID”為“0100”的記錄(若未設定級聯刪除的話),這些都會導致違反外來鍵約束。參照完整性要求表間關係中不允許引用不存在的實體。兩張表之間如果實施了參照完整性(也可稱之為設定了外來鍵約束),關聯表的某一方表中的記錄發生新增、更新和刪除等操作時,要是這些操作違反了外來鍵約束,系統就會報錯並拒絕執行相應操作以保持資料始終處於完整、和諧和正確的狀態並可減少冗餘。