【问题标题】:Mysql Workbench integer datatype bug(INT changes > (11) )Mysql Workbench 整数数据类型错误(INT 更改 > (11) )
【发布时间】:2014-06-10 04:01:25
【问题描述】:

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

Mysql Workbench 版本:6.1(6.1.4.117773 build 1454)

操作系统:Windows 7 64 位

Mysql 服务器版本:5.6

【问题讨论】:

  • 没有。这不是一个错误。 int 等于 int(11)。您的自动增量问题是由于其他原因造成的。显示您的创建表脚本。
  • 好的。但是当数据类型为 (11) 自动递增复选框不起作用时,我无法选中该复选框。我的外键复选框也不起作用。但我可以用代码设置外键。

标签: mysql mysql-workbench


【解决方案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 操作系统中选择“土耳其语(土耳其)”作为“区域格式”时才会以某种方式破坏工作台。 (我的操作系统是 Windows 10 英文版)

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

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

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

【讨论】:

    【解决方案2】:

    你的other issue也有同样的问题

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

    字符服务器文件 => utf8 排序服务器 => utf8_general_ci

    【讨论】:

      猜你喜欢
      • 2011-07-12
      • 2014-06-09
      • 2021-03-11
      • 2016-08-26
      • 2017-02-17
      • 2021-12-03
      • 2016-09-25
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多