当我设置列的“INT”数据类型时,它在Mysql Workbench alter table上看起来像“(11)”。 所以我不能设置自动增量,外键......但输入像整数这样的数据是没有问题的。那是一个错误吗?
Mysql Workbench版本:6.1(6.1.4.117773 build 1454)
操作系统:Windows 7 64位
Mysql Server版本:5.6
答案 0 :(得分:1)
我假设aleblebi是土耳其人。但是我想,这个问题也可以在其他地区看到。首先,我将尝试解释问题,然后最后编写解决方案。
当您尝试使用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
,只有在Windows OS中选择“土耳其语(土耳其)”作为“区域格式”时,它们才会以某种方式破坏工作台。 (我的操作系统是Windows 10英文)
因此,我通过将Windows 10的“区域格式”设置从“土耳其语(土耳其)”更改为“英语(美国)”解决了该问题。
顺便说一句,我原样保留了“国家或地区”选项(在Windows 10中仍为“土耳其”),并且我始终将“英语(美国)”用作“非Unicode程序的语言” Windows 10开发环境中的选项。
我希望这些信息有一天能对某人有所帮助...
答案 1 :(得分:0)
转到您的服务器 - >选项文件,然后将这些选项更改为
Character-server-file => UTF8 Collation-server => utf8_general_ci