gpt4 book ai didi

mysql - 更换mysql数据库上的约束,总是失败

转载 作者:行者123 更新时间:2023-11-30 01:14:38 27 4
gpt4 key购买 nike

MySQL:5.5.27

phpMyAdmin:最新版本之一

我有一个数据库,其中包含以下表:

  • 成员(member)
  • 语言
  • 成员(member)语言

由于我匆忙创建了它并且必须填充它以进行测试,我后来发现并非所有约束都是应有的。例如,member_language 表中的 member_id 显然必须映射到 member 表中的 mem_id,并且 member_language 表中的 language_id 必须映射到 language 表中的 lang_id。因此,我重新创建了所有 3 个表,然后将所有数据重新导入到复制的表中:第一个是 member,然后是 language,最后是 member_language。

然后我尝试对member_language强制实现约束,但无法为member.mem_id创建fk约束,该约束将其链接到member_language.member_id。每次它抛出

#1452 error - Cannot add or update a child row: a foreign key constraint fails (`dbname`.`#sql-122f_bec4cef`, CONSTRAINT `#sql-122f_bec4cef_ibfk_2` FOREIGN KEY (`member_id`) REFERENCES `member` (`mem_id`))

有人能给我指出正确的方向吗?塔克斯SP

最佳答案

好的,这就是问题所在。

member_language 表中确实缺少一些member_id 值。这可能不是唯一的问题,但肯定有一个问题是我从 phpMyAdmin 创建的 SQL 导出文件跳过了一些值!

这确实很奇怪,因为我在查看表格时可以看到浏览 View 中的值,但在导出时,它在各处丢失了该表格中的行。所以确实存在不匹配,我认为这是导致问题的原因。

如果我发现其他可能的原因,我会再次发布......

关于mysql - 更换mysql数据库上的约束,总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188805/

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