无法设置外键关系

San*_*kan 26 mysql-workbench

我对MySQL Workbench有一些问题,因为我在创建表时有时无法设置外键.我说有时因为它并不总是这样.问题是,当我输入FK并选择参考表时,我无法选择引用的列.我无法单击复选框,下拉列表为空.我无法弄清楚问题是什么,因为我认为FK的工作没有真正的区别.我检查了数据类型,名称等,它们是正确的.我将提供一个SS来详细说明.绿色标记的键(id_hem)正常工作,红色标记表示没有.

WB的屏幕截图

dwk*_*wkd 42

我知道这是旧的,但通常的罪魁祸首是Non Null旗帜Unsigned.如果引用的列确实启用了外键列,请确保在外键列上匹配这些内容.

  • 这就是我爱的原因.3年后,有人找出导致仍然没有修复的错误并解决它的原因!TY (2认同)
  • 不适合我。 (2认同)

小智 8

我有同样的问题..然后我检查了两个表..问题是类型,它应该在两个表中匹配.

如果在foralda表列中id_familjer是(INT)
在fkblixten表中,列id_familjer也应该是(INT).如果两个数据类型不匹配MySQL Workbench将不允许选择列作为外键.


Jul*_*ien 6

也可能是因为归类不同。只需检查这两列是否具有相同的排序规则即可。

以我为例

表默认值(使用utf8常规)

另一个与

utf8_unicode_ci

我已经用utf8_unicode_ci设置了这2列,它可以工作。


Mak*_*cha 1

我遇到了同样的问题,问题出在外键索引中。MySQL Workbench 有时会为 fk 索引生成太长的名称。手动修正有帮助。

  • 您能否添加一些有关如何手动纠正此问题的信息? (10认同)