新增外來鍵的表如何插入資料

2021-08-01 14:59:50 字數 481 閱讀 9830

資料的關係比較多的是使用外來鍵去關聯的,那直接插入資料到新增了外來鍵的表的時候,那就會出現乙個問題找不到這個外鍵值而報錯。

這裡有兩個解決辦法:

先對外鍵指定的那張子關係表新增你需要的資料後,再對使用外來鍵的表新增資料。(先主表插入資料,再從表插入資料集)

例如我有一張學生表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...