我是Web编程的新手,正在做可以在网上找到的各种教程。
我做了研究,发现在int(11)中,11是整数的最大显示宽度,如果整数是UNSIGNED(在本例中为10),则它是默认值。
当我看到这样的东西:
id INT(11) not null AUTO_INCREMENT
我没问题 但是,为什么在不同的教程中看到不同的东西?例如,在某些情况下,
id INT(10) not null AUTO_INCREMENT
乃至
id INT(4) not null AUTO_INCREMENT
这些tut的作者试图达到什么目的?他们似乎都不想去解释10或4的含义。
好了,它们显然正在减小显示宽度,但是为什么呢?默认宽度11有什么问题?他们为什么要更改它?还是有我不知道的其他原因?
谢谢。
该x中INT(x)有无关空间要求或其他任何性能问题,它其实只是 显示宽度 。通常,使用该UNSIGNED ZEROFILL选项将显示宽度设置为合理的值最为有用。
x
INT(x)
UNSIGNED ZEROFILL
//INT(4) UNSIGNED ZEROFILL 0001 0002 ... 0099 ... 0999 ... 9999 ... 10000 //INT(2) UNSIGNED ZEROFILL 01 02 ... 09 ... 99 ... 100
如果没有该UNSIGNED ZEROFILL选项,则该值将用空格左填充到适当的显示宽度。
//INT(4) 1 2 ... 99 ... 999 ... 9999 ... 10000 //INT(2) 1 2 ... 9 ... 99 ... 100