在我的过程中,我做了类似的事情:
SET FOREIGN_KEY_CHECKS = 0;
LOAD DATA INFILE '/path/to/mytable.txt' INTO TABLE mytable;
SET FOREIGN_KEY_CHECKS = 1;
现在,我需要检查导入后的数据是否破坏了参照完整性。我想做类似的事情
check database all foreign_keys;
是否存在类似的命令?如果没有,如何控制?
环境:MySQL v5.1.xx 和 InnoDB
谢谢
最佳答案
回答
Here是一些可以满足您需要的代码。好像没有这个命令。
历史
好吧,我不是 MySQL 专家,但引用完整性是不断管理的,除非您禁用它。您不能将违反约束的行插入到表中,除非您首先删除或禁用了约束。没有必要“检查”它们。
如果您确实“禁用”了它们,那么启用它们将强制进行检查。
这实际上是完全错误的,而且确实非常可怕。 at least in 5.1
我想如果他们有那个函数,他们只会在您重新启用约束时调用它,所以我怀疑您会在服务器中找到它。
关于mysql - 检查引用完整性中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3727905/