我有一个表“办公室”,其中包含以下字段:
- id, int(10) 无符号 auto_inc
- fk_office, int(10) 无符号,可以为 NULL
- 地址
- 网址
- 电子邮件
一个办公室可能依赖于另一个办公室(用于构建依赖关系树),所以我用 phpMyAdmin 建立了与同一个表的外键关系,该表声明:
office.fk_office 与 office.id 相关 - ON DELETE SET NULL, ON UPDATE CASCADE
我认为这意味着当一个办公室被删除时,它的 fk_office 应该设置为 NULL,而不删除它的子办公室,当一个办公室被更新时,它的子办公室也应该这样做,我错了吗?
现在我的问题是在插入. 我还有其他表格(电话、小时等)列出了每个办公室和营业时间的电话传真号码。这些表的 FK 指向 office 表(id 字段)
为什么我得到
1452 - 无法添加或更新子行:外键约束失败
将新记录插入办公桌时?我应该优化/改变这个设计吗?
谢谢