数据库表中,两个表互为外键参考如何解决

发布于 2022-09-05 00:53:43 字数 196 浏览 19 评论 0

我有两个表,一个是职工表,一个是部门表。

  • 职工表有职工号和部门号两个属性

  • 部门有部门号和经理号两个属性。

显然,经理号应该以职工表的职工号为外键参考,而职工表的部门号应该以部门表的部门号为外键参考。

这么一来就会出现两个表互相为外键参考的矛盾,应该如何解决呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

任谁 2022-09-12 00:53:43

表结构不合理!

应该添加角(jue)色表

职工表里添加角色字段

角色表

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

职工表

id角色部门姓名
111经理
221小蜜
331屌丝

部门表

id部门名
1产业部
2事业部
3研发部
我的痛♀有谁懂 2022-09-12 00:53:43

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

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文