Mysql Workbench无法选择外键

标签 mysql mysql-workbench mysql-error-1064

首先,我检查了很多问题并用谷歌搜索了很多,但没有一个能解决我的问题..

我正在使用 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.iditem.locationId 之间创建一个外键。 Workbench GUI 不允许我选择复选框...

enter image description here

正如您从这张图片中看到的,我无法选择复选框或选择组合框值..

编辑: 我可以通过查询来管理它,但是在某些项目中有很多表,不想全部通过查询来完成...我是否遗漏了什么工作台?

提前致谢。

最佳答案

正如user4115463 所说,这是由DataType 的不同造成的。确保两个键具有完全相同的数据类型:

  • 数据类型字段应包含完全相同的字符串(INTINT(10) 相同)
  • B(是二进制)复选框应该匹配
  • 联合国(未签名)复选框应匹配

选择复选框时,MySQL Workbench尝试使用匹配的列填充复选框旁边的下拉列表,如果找不到任何匹配列,它决定默默地忽略单击复选框。

>

>

关于Mysql Workbench无法选择外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32283995/

相关文章:

php - JQuery 自动完成搜索术语及其缩写

mysql - 由于 UTC 原因,无法将数据插入 MYSQL

mysql - 在 MySQL 工作台中执行 GRANT 命令时用户访问被拒绝

mysql - 存储过程 - 错误 #1064

mysql - 我可以在不覆盖默认分页的情况下对自定义查询进行分页吗?

php - 在 codeigniter 中使用 mpdf 为 foreach() 提供的参数无效

mysql - 我的 SQL 查询出了什么问题? (mysql.用户表)

mysql - 适用于 MySQL Workbench iODBC 的 Linux MS SQL ODBC 驱动程序

mysql - 在两个日期之间选择数据的 SQL 语法有什么问题?

mysql - 如何在 OS X 上以 root 身份登录 MySQL?