文章詳情頁
mysql - 數據庫表中,兩個表互為外鍵參考如何解決
瀏覽:88日期: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=財務部
隨之而來的問題是,當兩個表都為空時怎么添加?這時可以先添加一行數據后再補充外鍵約束。
排行榜
