通过MySQL Workbench创建数据库关系

时间:2010-02-09 15:51:39

标签: mysql mysql-workbench

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

5 个答案:

答案 0 :(得分:7)

我也有这个问题。我无法创建关系的原因就像你说的类型不完全一样。我有一个unsigned int作为我的主键,一个signed int作为我的外键,所以软件不允许我创建关系。如果软件提出警报或某种用户反馈强调它反对检查该框,本来会很好。

答案 1 :(得分:2)

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

请参阅MySQL文档了解requirements necessary for a foreign key relationship

答案 2 :(得分:1)

我有同样的问题。找到了解决方法:

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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