是否可以检查 MySQL 数据库中的所有约束?

Ben*_*rel 5 mysql foreign-key constraint

MySQL 提供了暂时禁用外键检查的能力,从而允许不一致的数据进入数据库。

是否可以逐表、逐行检查整个 MySQL 数据库,以确保满足所有约束?

Shl*_*ach 2

很久以前,我写了一个名为Oak-apply-ri的工具。它是openark-kit的一部分,被广泛接受。首先我要声明的是,这个工具不太受欢迎,而且我对此没有太多的意见(除了我自己的意见)。

尽管如此,它允许您指定共享 FK 关系的两个表,并且它将验证约束是否成立。

--action=delete您可以通过或要求它实际解决差异--action=setnull

如果您怀疑,您可以要求它这样做,--print-only在这种情况下,它不会对您的数据库应用任何更改;相反,它会打印出它想要在数据库上调用的语句。

我很高兴收到对此的任何反馈。