【问题标题】:MySQL INT(x) versus INT(x+1) [duplicate]MySQL INT(x) 与 INT(x+1) [重复]
【发布时间】:2012-10-04 09:03:32
【问题描述】:

在 MySQL 中将字段声明为 INT(x)INT(x+1) 有何影响?如果我尝试在 INT(4) 字段中输入 12345 会发生什么?当我查询它时会发生什么?

【问题讨论】:

  • 我已经阅读了 MySQL 文档,但我仍然不明白它是什么意思。

标签: mysql


【解决方案1】:

这与显示宽度有关。只有在使用 ZEROFILL 时才能看到它。

复制自MySQL docs:

M 表示整数类型的最大显示宽度。最大合法显示宽度为 255。显示宽度与类型可以包含的值的范围无关,如 Section 11.1.4, “Numeric Types” 中所述。对于浮点和定点类型,M 是可以存储的总位数。

如果您为数字列指定 ZEROFILLMySQL 会自动将UNSIGNED 属性添加到该列。

允许UNSIGNED 属性的数值数据类型也允许SIGNED。但是这些数据类型默认是有符号的,所以SIGNED属性没有作用。

【讨论】:

  • 是的,我已阅读文档。我不明白,这就是我在这里发帖的原因。
  • @JDelage 然后阅读this 页面。这是从一个新手的 POV 写的。
  • 谢谢。所以它只是用于ZEROFILL?如果我不使用 ZEROFILL,我应该把它留空吗?
  • @JDelage 是的!您始终可以将其留空,除非不建议将其用于其他数据类型。
猜你喜欢
  • 2015-08-27
  • 1970-01-01
  • 2017-02-15
  • 2012-10-01
  • 2020-10-25
  • 2014-04-16
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
相关资源
最近更新 更多