首先,我检查了很多问题并用谷歌搜索了很多,但没有一个能解决我的问题..
我正在使用 Mysql Workbench 6.3 创建我的表。我通过仅使用 gui 而不是单个查询来创建它们。之后,我尝试为 int(11)
列创建一些外键,但 GUI 不允许我这样做。
这是我的 Show Create Table 'tableName'
CREATE TABLE `item` (
`id` int(11) NOT NULL,
`description` varchar(300) NOT NULL,
`maker` varchar(200) NOT NULL,
`model` varchar(200) NOT NULL,
`condition` varchar(200) NOT NULL,
`locationId` int(11) NOT NULL,
`categoryId` int(11) NOT NULL,
`userId` int(11) NOT NULL,
`lendTermsId` int(11) NOT NULL,
`itemOptionsId` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
还有一个;
CREATE TABLE `location` (
`id` int(11) NOT NULL,
`type` varchar(200) NOT NULL,
`coordinateLat` varchar(200) NOT NULL,
`coordinateLong` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
我正在尝试在 location.id
和 item.locationId
之间创建一个外键。
Workbench GUI 不允许我选择复选框...
正如您从这张图片中看到的,我无法选择复选框或选择组合框值..
编辑: 我可以通过查询来管理它,但是在某些项目中有很多表,不想全部通过查询来完成...我是否遗漏了什么工作台?
提前致谢。
最佳答案
正如user4115463 所说,这是由DataType 的不同造成的。确保两个键具有完全相同的数据类型:
- 数据类型字段应包含完全相同的字符串(
INT
和INT(10)
不相同) - B(是二进制)复选框应该匹配
- 联合国(未签名)复选框应匹配
选择复选框时,MySQL Workbench尝试使用匹配的列填充复选框旁边的下拉列表,如果找不到任何匹配列,它决定默默地忽略单击复选框。
> >关于Mysql Workbench无法选择外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32283995/