在MySQL表定义中,INT(5)和SMALLINT(5)之间有什么不同吗?还是它们都代表相同的尺寸?
发布于 2011-01-07 04:39:36
一个int和一个smallint大小不同,因此范围也不同。 (5) is smallint(5)或int(5)称为“数字类型属性”,它表示字段的“显示宽度”,
MySQL支持扩展,可选地在类型的基关键字后面的括号中指定整数数据类型的显示宽度。例如,
INT(4)指定显示宽度为4位的INT。应用程序可以使用此可选显示宽度来显示宽度小于列指定宽度的整数值,并向左填充空格。(也就是说,这个宽度存在于结果集返回的元数据中。是否使用取决于应用程序。)当与可选(非标准)属性ZEROFILL一起使用时,空格的默认填充将被替换为零。例如,对于声明为INT(4) ZEROFILL的列,5的值被检索为0005。
这是一个MySQL“扩展”,而zerofill是扩展的“扩展”。
对于控制数字类型显示的明智方法,不要使用数字类型属性,而是使用
https://dba.stackexchange.com/questions/369
复制相似问题