文章详情页
mysql - 数据库表中,两个表互为外键参考如何解决
浏览:64日期: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=财务部
随之而来的问题是,当两个表都为空时怎么添加?这时可以先添加一行数据后再补充外键约束。
排行榜
