mysql – So lösen Sie das Problem, dass zwei Tabellen in einer Datenbanktabelle als Fremdschlüssel aufeinander verweisen
伊谢尔伦
伊谢尔伦 2017-06-08 11:03:31
0
2
1173

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

  • Die Mitarbeitertabelle hat zwei Attribute: Mitarbeiternummer und Abteilungsnummer

  • Abteilung hat zwei Attribute: Abteilungsnummer und Managernummer.

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?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

Antworte allen(2)
女神的闺蜜爱上我

表结构不合理!

应该添加角(jue)色表

职工表里添加角色字段

角色表

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

职工表

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

部门表

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

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

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

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage