我有兩個表,一個是員工表,一個是部門表。
員工表有職工號碼和部門號兩個屬性
#部門有部門號碼和經理號碼兩個屬性。
顯然,經理號應該以職工表的職工號碼為外鍵參考,而職工表的部門號應該以部門表的部門號為外鍵參考。
這麼一來就會出現兩個表互相為外鍵參考的矛盾,該如何解決呢?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
「互為外鍵參考」為什麼是矛盾?
如果想新增部門,這個部門經理也是新人,可以先用一個舊職工「充當」經理,待添加成功後再修改掉。例如新增財務部和經理張三:
insert into 部门表 select id=财务部, manager=老王 insert into 职工表 select id=张三, department=财务部 update 部门表 set manager=张三 where id=财务部
隨之而來的問題是,當兩個表都為空時怎麼添加?這時可以先加入一行資料後再補充外鍵約束。
表結構不合理!
應該要加角(jue)色表
職工表裡新增角色欄位
角色表
職工表
部門表
「互為外鍵參考」為什麼是矛盾?
如果想新增部門,這個部門經理也是新人,可以先用一個舊職工「充當」經理,待添加成功後再修改掉。例如新增財務部和經理張三:
隨之而來的問題是,當兩個表都為空時怎麼添加?這時可以先加入一行資料後再補充外鍵約束。