【问题标题】:Same primary key as Foreign Key for two different tables两个不同表的主键与外键相同
【发布时间】:2014-05-22 15:49:40
【问题描述】:

我想做三个表,即ProvincesLanguagesCities

我的ProvincesCities 使用Languages。所以我制作了连接表,即Provinces_LanguagesCities_Languages。所有表都包含idname 作为列。

省份
身份证
名字

语言
身份证
名字

Provinces_Languages
省_id
语言_id

外键

同样适用于城市:

城市
身份证
名字

使用相同的语言表

Cities_Languages
city_id
语言_id

外键

但是,它不能使用与表语言相同的主键。我收到此错误:

我该如何解决这个问题? 提前致谢

【问题讨论】:

  • 为什么不让您的 alter 语句更简单,一次添加/删除一件事,这样您的表格看起来就像您要找的一样?

标签: mysql sql


【解决方案1】:

您已经有一个名为 FK_Language 的约束。使用不同的名称

【讨论】:

    【解决方案2】:

    FK_Language 在您尝试再次创建时已经存在。

    您应该创建单独的 alter table 语句,确保在再次创建之前删除 FK get。

    基本上:您尝试删除 FK 并同时重新创建它,但这是行不通的。

    顺便说一下,使用Cities_Languages还是langauges_cities应该是一致的。

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多