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

标签 mysql mysql-workbench

当我设置列的“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数据类型,BIGINTDATETIME数据类型也有同样的问题。

所以我得出的结论是,每个包含大写“I”字母的数据类型都存在同样的问题。在土耳其语字母表中,有点状大写字母 I 和普通字母 I,只有当您在 Windows 操作系统中选择“土耳其语(土耳其)”作为“区域格式”时,才会以某种方式破坏工作台”。 (我的操作系统是Windows 10英文版)

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

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

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

关于Mysql Workbench 整数数据类型错误(INT 更改 > (11) ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23276172/

相关文章:

mysql - Laravel - 哪个用户创建日志文件

mysql - MySQL Workbench 数据库文件的文件扩展名是什么?

mysql - 在 MySql 中创建行向上移动的新列

mysql - MySQL AVG()函数返回错误值

mysql - 如何选择 mycolumn 为整数值的所有行?

php - mysqli_num_rows()期望参数1为mysqli_result php

MySQL:获取计数和平均值

mysql - 无法从 root 用户更改其他用户的授予权限

mysql - 如何在同一操作系统中同时安装 mysql 服务器和 xampp 服务器

mysql - 查询执行时间较长