Mysql Workbench整数数据类型错误(INT更改>(11))

时间:2014-04-24 17:46:06

标签: mysql mysql-workbench

当我设置列的“INT”数据类型时,它在Mysql Workbench alter table上看起来像“(11)”。 所以我不能设置自动增量,外键......但输入像整数这样的数据是没有问题的。那是一个错误吗?

Mysql Workbench版本:6.1(6.1.4.117773 build 1454)

操作系统:Windows 7 64位

Mysql Server版本:5.6

2 个答案:

答案 0 :(得分:1)

我假设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数据类型,而且还有BIGINTDATETIME数据类型也有同样的问题。

因此,我得出结论,每个带有大写“ I”字母的数据类型都存在相同的问题。并且在土耳其语字母中有点缀的大写字母İ和普通字母I,只有在Windows OS中选择“土耳其语(土耳其)”作为“区域格式”时,它们才会以某种方式破坏工作台。 (我的操作系统是Windows 10英文)

因此,我通过将Windows 10的“区域格式”设置从“土耳其语(土耳其)”更改为“英语(美国)”解决了该问题。

顺便说一句,我原样保留了“国家或地区”选项(在Windows 10中仍为“土耳其”),并且我始终将“英语(美国)”用作“非Unicode程序的语言” Windows 10开发环境中的选项。

我希望这些信息有一天能对某人有所帮助...

答案 1 :(得分:0)

other issue

的问题相同

转到您的服务器 - >选项文件,然后将这些选项更改为

Character-server-file => UTF8 Collat​​ion-server => utf8_general_ci