MySQL如果我们在包含无效数据的表中设置SET FOREIGN_KEY_CHECKS = 1,会发生什么?

时间:2017-08-02 07:25:11

标签: mysql foreign-keys innodb

FOREIGN_KEY_CHECKS=0时实际发生了什么,然后我们添加了一些无效行,或者在表中添加外键然后设置回FOREIGN_KEY_CHECKS=1,而某些行包含无效数据?

指数会被忽略吗?一切都会正常运作,只会没有关系吗?

我的猜测是没有什么会改变但是如果我们尝试编辑行并保存它,则会弹出错误..是吗?我无法在文档中确认这一点。

修改
我想知道表面下是否有任何东西可能被打破。查看表格时数据可能看起来不错,但我不确定某处是否会丢失某些内容。我相信只有在执行插入/删除/更新时才会进行外部检查,但我担心在我执行这些操作时我不知道可能会中断的其他内容。

我只是向上帝提供比我更有专业知识的人的建议。我不知道这会要求登月。

1 个答案:

答案 0 :(得分:0)

您注意到某些事情的唯一方法是,当您的数据完整性被破坏时,例如当您有没有父母的孩子时。插入语句可能会失败或出现问题。没有其他事情发生。