Mic*_*rey 13 mysql foreign-keys
我们有一个包含几百个表的数据库.使用foreign_keys的表使用INNODB.
有时我们mysqldump在开发,阶段和生产数据库之间传输数据(使用单个表).mysqldump禁用所有外键检查以便轻松导入数据.
因此,随着时间的推移,我们的一些非生产数据库最终会出现一些孤立的记录.
我正准备编写一个脚本来查找和检测整个MySQL数据库的任何无效(指向丢失记录的键)外键.
我知道我可以写一个查询来逐个检查每个表和fkey,但是我想可能有一个工具可以做到这一点.
我会在写这样一个脚本之前检查一下,看看那里是否有一个.
有点搜索谷歌......令人惊讶的是我一无所获.
Tom*_*ing 16
如果数据已经存在并且您没有设置fk约束或级联来删除父级,那么您只需要:
SELECT * FROM children WHERE my_fk_id NOT IN (select id from parents);
| 归档时间: | 
 | 
| 查看次数: | 7029 次 | 
| 最近记录: |