当我设置列的“INT”数据类型时,它在 Mysql Workbench alter table 上看起来像这样“(11)”。 所以我无法设置自动增量,外键...但是输入整数之类的数据没有问题。这是一个错误吗?
Mysql 工作台版本:6.1(6.1.4.117773 版本 1454)
操作系统:Windows 7 64 位
Mysql服务器版本:5.6
最佳答案
我假设aleblebi是土耳其成员(member)。但我想,这个问题也可以在其他语言环境中看到。首先我会尝试解释问题,然后我会在最后写出我的解决方案。
当您尝试使用 Workbench GUI 更改表时,您会看到问题(我使用的是 8.0.15 版本)。网格的“数据类型”列和“数据类型:”文本框将显示 (11)
而不是 INT(11)
,同样的问题可以在 中看到DATETIME
列,但这次数据类型框将完全为空。
如果您尝试使用工作台的“与任何源同步...”向导,也会出现问题。在向导结束时,您可以看到类似以下内容:
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
和普通字母 I
,只有当您在 Windows 操作系统中选择“土耳其语(土耳其)”作为“区域格式”时,才会以某种方式破坏工作台”。 (我的操作系统是Windows 10英文版)
因此,我只需将 Windows 10 的“区域格式”设置从“土耳其语(土耳其)”更改为“英语(美国)”就解决了这个问题。
顺便说一句,我保留了“国家或地区”选项(在 Windows 10 中仍然是“土耳其”),并且我始终使用“英语(美国)”作为“非 Unicode 程序的语言”我的 Windows 10 开发环境中的选项。
我希望这些信息有一天会对某人有所帮助......
关于Mysql Workbench 整数数据类型错误(INT 更改 > (11) ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23276172/