【问题标题】:Can't add foreign key to table无法向表中添加外键
【发布时间】:2015-12-15 22:40:27
【问题描述】:

我已经搜索了其他答案并尝试了它们,但没有运气。这是我得到的: 错误

SQL 查询:

ALTER TABLE `watching` ADD FOREIGN KEY ( `anime_Score` ) 
 REFERENCES `anime_15-12-2015`.`score` (`Score_ID`);

MySQL 说:文档

1452 - 无法添加或更新子行:外键约束失败(anime_15-12-2015/#sql-fdc_14a, CONSTRAINT #sql-fdc_14a_ibfk_2 外键 (anime_Score) 参考 score (Score_ID))

基本上我有一个名为anime_15-12-2015 的数据库,在该数据库中我有3 个表:观看、输入和评分。 我能够添加外键来键入但没有运气...... 如果您需要更多信息,请回复,我会尽快回复。

感谢所有试图帮助我的人!

【问题讨论】:

  • 扩展 Drew 所说的,如果您的表中有数据会违反外键的引用完整性,它不会让您创建外键。那么表中有数据吗?
  • 我认为 Drew 是在说你有孤立的记录。 Select Score_ID from anime_15-12-2015 a LEFT JOIN watching b on a.score_ID = B.anime_Score where b.anime_Score is null 如果有任何记录返回,那么您在anime_15-12-2015 中缺少该记录的父记录。
  • 可能是stackoverflow.com/q/1253459的欺骗
  • 发生在除 R 之外的所有 CRUD 操作上。所以所有 CUD 操作

标签: mysql sql-server database foreign-keys


【解决方案1】:

如果存在表'score'中不存在的值(Score_ID),请检查表'watching'的'anime_Score'列。

【讨论】:

    猜你喜欢
    • 2017-09-01
    • 1970-01-01
    • 2011-12-28
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2017-05-10
    • 1970-01-01
    相关资源
    最近更新 更多