我想从父表中删除行/元组,但它抛出错误消息,因为它的子表中有外键引用。
但是,就我而言,我想仅删除父表中的记录并保留子表中的数据.
有可能实现这一目标吗?
我知道的用法ON DELETE CASCADE https://stackoverflow.com/questions/3574290/how-we-delete-a-row-from-parent-table-when-child-table-connected-with-paren-tabl,但我想知道是否有针对描述的场景的解决方案?
您的数据中有一些协议是可能的。维护子表data你必须做ON DELETE SET NULL
。这将留下数据,但将 FK 设置为NULL
值(在子表中)。这是因为数据完整性:当您can保留您的数据、您的 FKcan not强制引用父表中不存在的行FK
约束。因此,它将被设置为NULL
这样。
如果你想“保存”FK值- 那么你绝对不应该使用FK,因为这种行为违反了FK的本质。因此,不要使用该约束,但要注意可能的完整性失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)