gpt4 book ai didi

mysql - 如何修复数据以便外键可以添加回数据库

转载 作者:行者123 更新时间:2023-11-29 14:03:55 25 4
gpt4 key购买 nike

我刚刚发现我的数据库在过去几个月里在几台服务器之间移动,在其中一个数据库转储中,转换为 myisam 并且所有外键约束都被破坏了(没有留下深刻的印象)。我已经使用 php 脚本将所有表转换回 innodb,但现在我发现一半的约束无法添加。

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`identicar2`.<result 2 when explaining filename '#sql-2a7_c0'>, CONSTRAINT `#sql-2a7_c0_ibfk_1` FOREIGN KEY (`feature_sk`) REFERENCES `tbl_feature_list` (`feature_sk`))

我现在迷路了,我无法手动浏览数千条记录。为了使我的数据库恢复正常,最好做什么?

如果您愿意,我可以提供表结构,但我想任何解决方案都将独立于确切的结构

最佳答案

最简单的解决方案:(包含丢失您可能想要保留的数据的明显危险)

UPDATE table
SET fkColumn = NULL
WHERE fkColumn NOT IN (SELECT referenceColumn FROM referencedTable)

如果您只是想找到它们:

SELECT *
FROM table
WHERE fkColumn NOT IN (SELECT referenceColumn FROM referencedTable)

关于mysql - 如何修复数据以便外键可以添加回数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14667435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com