我假设aleblebi 是土耳其成员。但我想,这个问题也可以在其他语言环境中看到。首先我会尝试解释问题,然后我会在最后写出我的解决方案。
当您尝试使用 Workbench GUI 更改表时,您会看到问题(我使用的是 8.0.15 版)。网格的“数据类型”列和“数据类型:”文本框将显示 (11) 而不是 INT(11),在 DATETIME 列中可以看到同样的问题,但这次数据类型框将完全为空。
如果您尝试使用 Workbench 的“与任何源同步...”向导,也会出现问题。在向导结束时,您可以看到如下内容:
ALTER TABLE `TEST_1`.`TABLE_1`
CHANGE COLUMN `ID` `ID` (11) NULL DEFAULT NULL ,
DROP PRIMARY KEY;
代替:
ALTER TABLE `TEST_1`.`TABLE_1`
CHANGE COLUMN `ID` `ID` INT(11) NULL DEFAULT NULL ,
DROP PRIMARY KEY;
我遇到了同样的问题,我在网上搜索了几天,找不到解决方案(camadan 的解决方案对我来说并不成功)。最后我意识到,不仅仅是INT数据类型,BIGINT和DATETIME数据类型也有同样的问题。
所以我得出的结论是,其中包含大写“I”字母的每种数据类型都有相同的问题。在土耳其字母表中,有点大写字母İ 和普通字母I 只有当您在 Windows 操作系统中选择“土耳其语(土耳其)”作为“区域格式”时才会以某种方式破坏工作台。 (我的操作系统是 Windows 10 英文版)
所以我解决了这个问题,只需将 Windows 10 的“区域格式”设置从“土耳其语(土耳其)”更改为“英语(美国)”。
顺便说一句,我保留了“国家或地区”选项(在 Windows 10 中仍然是“土耳其”),并且我总是使用“英语(美国)”作为“非 Unicode 程序的语言”我的 Windows 10 开发环境中的选项。
我希望这些信息有一天会对某人有所帮助...