mysql - MySQLWorkBench 无法设置外键
问题描述
对于这个问题,它只发生在 GUI 端,脚本仍然可以正常工作
一直在寻找答案,我发现最接近的是
Mysql Workbench Can't Select Foreign Key
但它并没有真正回答在创建语句中考虑到两个键的问题具有相同的数据类型
2010 年在 mysql 方面有关于这个问题的错误报告,没有任何后续行动,似乎很多人都没有抱怨过,所以想知道我是否做错了什么
在我将联盟更改为 utf8mb4_unicode_ci 之前它曾经运行良好
我使用脚本将所有 varchar 和文本设置
为 ut8mb4为什么我要弄清楚是否是我的错。
mysql 版本 5.7.22(在 AWS RDS 上)
工作台版本 8.0.22
CREATE TABLE `campaign` (
`campaignID` int(11) NOT NULL,
`productID` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`createdDate` datetime DEFAULT CURRENT_TIMESTAMP,
`startDate` datetime DEFAULT CURRENT_TIMESTAMP,
`endDate` datetime DEFAULT NULL,
PRIMARY KEY (`campaignID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE `products` (
`productID` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`productName` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'namelessProduct',
`description` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`image` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`productID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
解决方案
推荐阅读
- c# - 我需要从形成列表的控制台输入中删除空格
- javascript - 跨域 AJAX 得到响应,但在错误消息中
- go - 使用 Websocket 向客户端广播服务器端消息
- python - 临时目录中的临时文件
- angular - Ionic cordova run [platform] –prod –release throws typescript error 无法写入文件错误
- django - `TemplateDoesNotExist` 错误,虽然它确实存在
- swift - instanceViewController 上的信号 SIGABRT
- postgresql - 在 postgreSQL 中安装扩展模块后提取表名?
- google-bigquery - BigQuery 连接对于小尺寸表来说太慢了
- node.js - 类型错误:arr[idx] 不是函数