MySQL int定义说明

Rus*_* C. 3 mysql definition biginteger

多年来,当我为MySQL表创建一个类型为bigint(12)的新列时,我一直在假设该字段限制为最多12位的整数.但是,我最近注意到,最多16位的值可以写入bigint(12)定义列中并从中选择,而不会出现任何警告或问题.

有人可以帮助我理解为什么会出现这种情况以及该列定义实际意味着什么?提前致谢!

Adr*_*der 5

bigint(12)根本没有被截断.12用于显示目的.

看看数字类型

数字类型属性

MySQL支持扩展,可以选择在类型的base关键字后面的括号中指定整数数据类型的显示宽度.例如,INT(4)指定显示宽度为四位的INT.应用程序可以使用此可选显示宽度来显示宽度小于为列指定的宽度的整数值,方法是用空格填充它们.(也就是说,此宽度存在于使用结果集返回的元数据中.是否使用它取决于应用程序.)

显示宽度不会限制可以存储在列中的值的范围.它也不会阻止比列显示宽度更宽的值正确显示.