【发布时间】:2012-10-04 09:03:32
【问题描述】:
在 MySQL 中将字段声明为 INT(x) 与 INT(x+1) 有何影响?如果我尝试在 INT(4) 字段中输入 12345 会发生什么?当我查询它时会发生什么?
【问题讨论】:
-
我已经阅读了 MySQL 文档,但我仍然不明白它是什么意思。
标签: mysql
在 MySQL 中将字段声明为 INT(x) 与 INT(x+1) 有何影响?如果我尝试在 INT(4) 字段中输入 12345 会发生什么?当我查询它时会发生什么?
【问题讨论】:
标签: mysql
这与显示宽度有关。只有在使用 ZEROFILL 时才能看到它。
复制自MySQL docs:
M 表示整数类型的最大显示宽度。最大合法显示宽度为 255。显示宽度与类型可以包含的值的范围无关,如 Section 11.1.4, “Numeric Types” 中所述。对于浮点和定点类型,M 是可以存储的总位数。
如果您为数字列指定 ZEROFILL,MySQL 会自动将UNSIGNED 属性添加到该列。
允许UNSIGNED 属性的数值数据类型也允许SIGNED。但是这些数据类型默认是有符号的,所以SIGNED属性没有作用。
【讨论】: