2010-02-09 118 views
3

我尝试使用MySQL Workbench在表之间创建外键。但我不知道为什么我不能勾选复选框来选择一个字段,以便与另一个表中的另一个字段进行映射。也许它需要两个字段具有相同的类型(和其他条件) 那么你能告诉我使用外键创建关系的标准以及如何在MySQL Workbench中创建关系?通过MySQL Workbench创建数据库关系

回答

2

我不是MySQL Workbench的用户,但要确保您首先使用的是支持外键的存储引擎。 (例如,InnoDB)

请参阅requirements necessary for a foreign key relationship的MySQL文档。

+1

哦,是的,我可以看到问题。我为两个字段设置了差异排序规则。我修改了,使用一个一致的校对,现在我可以建立关系。 谢谢 – 2010-02-09 16:20:51

0

在EER图编辑器中编辑表格时,会出现“外键”选项卡。你可以在那里设置表之间的外键。 (Workbench 5.2.36)

7

我也有这个问题。我无法建立这种关系的原因正如你所说的那样,类型并不完全相同。我有一个无符号的int作为我的主键和一个有符号的int作为我的外键,所以软件不允许我创建关系。如果软件提出警告或某种用户反馈强调它拒绝检查该框,本来会很好。

0

我面临着与MySql Workbench相同的问题。我有一个char(5)(在表1中)作为我的主键和另一个char(5)(在表2中)作为外键。但MySql Workbench不会让我创建关系。我正在使用INNODB。

1

我有同样的问题。发现解决方法:

输入外键约束的名称并选择引用的表后,单击“下一个”而不选择列名称。

在这一步中,您将看到新约束的create sql脚本。 手动编辑:输入引用的列名称和fk的列名称。 然后点击完成。该脚本将被执行。 对于重新检查,请尝试再次打开表格更改窗口,您将看到现在在外键选项卡中勾选了列复选框。