[英]Does resetting FOREIGN_KEY_CHECKS to 1 checks for consistency
假设我有这样的事情:
start transaction;
set FOREIGN_KEY_CHECKS = 0;
insert into ...;
set FOREIGN_KEY_CHECKS = 1;
commit;
这能保证插入信息的一致性吗?
不,不是的。
由于对MySQL手册外键约束上重新启用表示foreign_key_check
设置(强调):
启用foreign_key_checks 不会触发表数据的扫描,这意味着当foreign_key_checks 重新启用时,不会检查在禁用foreign_key_checks 时添加到表中的行的一致性。
不,它不会检查添加的数据
启用foreign_key_checks 不会触发表数据的扫描,这意味着当foreign_key_checks 重新启用时,在禁用foreign_key_checks 时添加到表中的行不会检查一致性。
见https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html#foreign-key-checks
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.