INT(5)与SMALLINT(5):数字类型后面的括号中的数字


29

在MySQL表定义中,INT(5)和之间有区别SMALLINT(5)吗?还是它们代表相同的大小?

Answers:


41

an int和a的smallint大小不同,因此范围也不同。(5)smallint(5)int(5)被称为“数字类型属性”和它表示的字段中的“显示宽度”,

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

当与可选(非标准)属性结合使用时ZEROFILL,默认的空格填充将替换为零。例如,对于声明为的列INT(4) ZEROFILL,值为5检索为0005

这是MySQL的“扩展”,zerofill是扩展的“扩展”。

对于控制数字类型显示的明智方法,请不要使用“数字类型属性”,而应使用

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.