当我们删除其他表中的外键主键时,先删除哪个?第一个表中的主键还是另一个表中的外键?我在面试中被问到这个问题。请提供一些答案的原因:)
最佳答案
通常,您需要先删除外键引用,然后再删除主键。否则,外键约束将无效。
我可能猜到这就是面试官要找的答案。
但实际上,答案是“同时”。完成此操作的正常方法是使用级联删除外键引用。删除将全部发生在同一个事务中(至少在大多数数据库中),因此它们在提交之前不会生效。
如果您手动执行此操作,您通常会执行以下操作:
- 删除外键约束。
- 重新设置外键引用列中的值(通常为
NULL
)。 - 删除主键表中的适当行。
关于mysql - 哪个先被删除?主键还是外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34770432/