資料的關係比較多的是使用外來鍵去關聯的,那直接插入資料到新增了外來鍵的表的時候,那就會出現乙個問題找不到這個外鍵值而報錯。
這裡有兩個解決辦法:
先對外鍵指定的那張子關係表新增你需要的資料後,再對使用外來鍵的表新增資料。(先主表插入資料,再從表插入資料集)例如我有一張學生表t_student,然後我有一張宿舍表t_dormitory,然後t_dormitory裡面有乙個學生欄位是外來鍵,關聯到學生表的。
我要對宿舍表進行插入資料那就先對學生表插入資料。然後在對宿舍表新增資料。
先禁用外來鍵約束alter table 表名 nocheck constraint 外來鍵約束名
然後插入資料
然後再啟用約束
alter table 表名 check constraint 外來鍵約束名
不斷學習,不斷進步。
為mysql資料表新增外來鍵
restrict 只要本 裡面有指向主表的資料,在主表裡面就無法刪除相關記錄。一般來說,就選restrict最安全,當然也根據具體的業務而言了.cascade很cool,但是資料譁的一下就沒了.cascade 如果在foreign key 所指向的那個表裡面刪除一條記錄,那麼在此表裡面的跟那個key...
為mysql資料表新增外來鍵 二
restrict 只要本 裡面有指向主表的資料,在主表裡面就無法刪除相關記錄。一般來說,就選restrict最安全,當然也根據具體的業務而言了.cascade很cool,但是資料譁的一下就沒了.cascade 如果在foreign key 所指向的那個表裡面刪除一條記錄,那麼在此表裡面的跟那個key...
改變表已新增約束 外來鍵
alter table dbo employee with nocheck add constraint df employee job id 1b0907ce default 1 for job id constraint df employee job lv 1cf15040 default 1...