【发布时间】:2011-01-14 21:06:02
【问题描述】:
我正在尝试使用 MySQL Workbench 在表之间创建外键。但我不知道为什么我不能勾选复选框来选择一个字段以便与另一个表中的另一个字段进行映射。也许它要求两个字段具有相同的类型(以及其他条件??) 那么您能告诉我使用外键创建关系的标准以及如何在 MySQL Workbench 中创建关系吗?
【问题讨论】:
标签: mysql mysql-workbench
我正在尝试使用 MySQL Workbench 在表之间创建外键。但我不知道为什么我不能勾选复选框来选择一个字段以便与另一个表中的另一个字段进行映射。也许它要求两个字段具有相同的类型(以及其他条件??) 那么您能告诉我使用外键创建关系的标准以及如何在 MySQL Workbench 中创建关系吗?
【问题讨论】:
标签: mysql mysql-workbench
我也有这个问题。我无法创建关系的原因是正如你所说的类型并不完全相同。我有一个无符号整数作为我的主键,一个有符号整数作为我的外键,所以软件不允许我创建关系。如果该软件提出警告或某种用户反馈强调它反对选中该框,那就太好了。
【讨论】:
我不是 MySQL Workbench 的用户,但请确保您使用的存储引擎首先支持外键。 (例如,InnoDB)
请参阅requirements necessary for a foreign key relationship 的 MySQL 文档。
【讨论】:
我有同样的问题。找到了解决方法:
输入外键约束的名称并选择引用的表后单击“下一步”而不选择列名。
在此步骤中,您将看到创建新约束的 sql 脚本。 手动编辑:输入引用的列名和fk的列名。 然后点击完成。脚本将被执行。 要重新检查,请尝试再次打开 table alter 窗口,您将看到列复选框现在在外键选项卡中被勾选。
【讨论】:
当您在 EER 图编辑器中编辑表时,会有一个“外键”选项卡。您可以在那里设置表之间的外键。 (工作台 5.2.36)
【讨论】:
我在使用 MySql Workbench 时遇到了同样的问题。我有一个 char(5)(在表 1 中)作为我的主键,另一个 char(5)(在表 2 中)作为外键。但是 MySql Workbench 不会让我创建关系。我正在使用 INNODB。
【讨论】: