首页 > 解决方案 > 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;

标签: mysqlforeign-keysutf8mb4

解决方案


推荐阅读