MySQL禁用外键检查:“删除时”会怎样?

时间:2019-04-26 15:10:57

标签: mysql foreign-keys

示例,如下表机场

id
name
country_id (foreign key, ON DELETE will set it to null)

然后:

  1. 关闭外键检查
  2. 丢掉国家表格

是否所有机场的country_id都将设置为null(因为外键检查已关闭)?

编辑:我已经尝试过了,country_id未设置为null。我的问题基本上是在关闭外键检查的情况下是否完全考虑ON DELETE

1 个答案:

答案 0 :(得分:2)

禁用外键检查时,您有机会将数据库置于不一致状态。

也就是说,您可以强制外键列中的值引用已消失的值(在您的情况下甚至是整个表)。

要避免这样做。

类似地,您是否知道如果电工用金属工具接触带电的电线,他们就能自己电切?他们试图不这样做。