【问题标题】:MySQL database, multiple foreign keysMySQL数据库,多个外键
【发布时间】:2012-01-24 11:28:48
【问题描述】:

我是 MySQL 世界的新手,但遇到了一些麻烦。问题来了:

我有 2 个表,分别称为 TEAMSFIXTURES。这是我正在尝试创建的结构(仅显示相关字段):

团队表:

  • team_name(主键)

FIXTURES 表:

  • fixture_id(主键)
  • home_team(外键)
  • away_team(外键)

home_team 和 away_team 从同一来源 (team_name) 获取球队名称。

我已成功创建与 FIXTURES(home_team) 和 TEAMS(team_name) 的关系,但我无法让其他关系正常工作 - FIXTURES(away_team) 和 TEAMS(team_name)。

我收到“#1452 - 无法添加或更新子行:外键约束失败”错误消息。我假设可能是因为我在同一个表中有 2 个外键引用同一个主键。那是对的吗?如果是这样,我将如何解决它?

希望我已经解释清楚了,有人可以帮助我,谢谢:-)

【问题讨论】:

    标签: mysql


    【解决方案1】:

    这意味着您已经有不满足约束的值,即在 teams 表中没有相应的条目。所以问题不在于架构,而在于您的数据。修复那里的问题。

    SELECT * FROM fixtures LEFT JOIN teams ON (away_team=team_name)
    WHERE team_name IS NULL;
    

    将获取有问题的行。

    【讨论】:

    • 这是一个非常简单的解决方案。我不知道我不完整的测试数据会影响我完成结构。一旦我填写了缺失的数据字段,一切都会按我的意愿进行。非常感谢:-)
    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 2018-11-08
    • 2012-11-30
    • 1970-01-01
    • 2013-07-16
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多