繁体   English   中英

是否将 FOREIGN_KEY_CHECKS 重置为 1 检查一致性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM