在我的过程中,我做了类似的事情:
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
Thanks
Answer
Here http://forge.mysql.com/tools/tool.php?id=11是一些可以满足您需要的代码。好像没有这样的命令。
History
好吧,我不是 MySQL 专家,但除非您禁用它,否则引用完整性会不断受到管理。除非您首先删除或禁用了约束,否则无法将违反约束的行插入到表中。没有必要“检查”它们。
如果您确实“禁用”了它们,那么启用它们将强制进行检查。
事实上,这是完全错误的,而且非常可怕。至少在5.1中 http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html
我认为如果他们有这个功能,他们只会在您重新启用约束时调用它,所以我怀疑您是否会在服务器中找到它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)