您的位置:首頁技術文章
文章詳情頁

mysql - 數據庫表中,兩個表互為外鍵參考如何解決

瀏覽:102日期:2022-06-11 15:27:43

問題描述

我有兩個表,一個是職工表,一個是部門表。

職工表有職工號和部門號兩個屬性

部門有部門號和經理號兩個屬性。

顯然,經理號應該以職工表的職工號為外鍵參考,而職工表的部門號應該以部門表的部門號為外鍵參考。

這么一來就會出現兩個表互相為外鍵參考的矛盾,應該如何解決呢?

問題解答

回答1:表結構不合理!應該添加角(jue)色表職工表里添加角色字段角色表id角色名1經理2女秘書3搬磚狗職工表id角色部門姓名111經理221小蜜331屌絲部門表id部門名1產業部2事業部3研發部回答2:

“互為外鍵參考”為什么是矛盾?

如果想新增部門,這個部門經理也是新人,可以先用一個舊職工“充當”經理,待添加成功后再修改掉。比如新增財務部和經理張三:

insert into 部門表 select id=財務部, manager=老王insert into 職工表 select id=張三, department=財務部update 部門表 set manager=張三 where id=財務部

隨之而來的問題是,當兩個表都為空時怎么添加?這時可以先添加一行數據后再補充外鍵約束。

国产综合久久一区二区三区