mysql - 检查引用完整性中断

标签 mysql referential-integrity

在我的过程中,我做了类似的事情:

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/

相关文章:

mysql - 在尝试删除 MySQL 中的任何这些记录之前,如何检查记录列表的外键引用?

php - DEFINER =`coinstourb_admin` @`localhost` *//

php - 交易情况的基本模式

MySQL - 将来自同一个表的多个选择组合成一个结果表与一个组

django - SQLite 是否支持参照完整性?

mysql - 使用多个字段的外键约束

mysql - 较旧的 SQL 服务器和通过外键的引用完整性

php - swift ,php,mysql : how to get user information from database

Java第二类mysql连接失败

MySQL 约束使用固定 "hard-coded"值 - 这可能吗?