Heim  >  Fragen und Antworten  >  Hauptteil

mysql – So lösen Sie das Problem, dass zwei Tabellen in einer Datenbanktabelle als Fremdschlüssel aufeinander verweisen

Ich habe zwei Tische, einer ist der Mitarbeitertisch und der andere ist der Abteilungstisch.

Natürlich sollte die Managernummer die Mitarbeiternummer in der Mitarbeitertabelle als Fremdschlüsselreferenz verwenden, und die Abteilungsnummer in der Mitarbeitertabelle sollte die Abteilungsnummer in der Abteilungstabelle als Fremdschlüsselreferenz verwenden.

Dadurch entsteht ein Konflikt zwischen den beiden Tabellen, da sie Fremdschlüsselreferenzen zueinander sind. Wie lässt sich das Problem lösen?

伊谢尔伦伊谢尔伦2689 Tage vor1124

Antworte allen(2)Ich werde antworten

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-08 11:05:31

    表结构不合理!

    应该添加角(jue)色表

    职工表里添加角色字段

    角色表

    id 角色名
    1 经理
    2 女秘书
    3 搬砖狗

    职工表

    id 角色 部门 姓名
    1 1 1 经理
    2 2 1 小蜜
    3 3 1 屌丝

    部门表

    id 部门名
    1 产业部
    2 事业部
    3 研发部

    Antwort
    0
  • 迷茫

    迷茫2017-06-08 11:05:31

    “互为外键参考”为什么是矛盾?

    如果想新增部门,这个部门经理也是新人,可以先用一个旧职工“充当”经理,待添加成功后再修改掉。比如新增财务部和经理张三:

    insert into 部门表 select id=财务部, manager=老王
    insert into 职工表 select id=张三, department=财务部
    update 部门表 set manager=张三 where id=财务部

    随之而来的问题是,当两个表都为空时怎么添加?这时可以先添加一行数据后再补充外键约束。

    Antwort
    0
  • StornierenAntwort