你以為int(10)允許存放的數據比int(1)大。
其實是一樣大小,它不會限制值的合法范圍。
無符號型的話,都是4294967295,42億(4個字節,占32位,最大值就是2的32次方減1)有符號型就是2的31次方減1。
那它們的區別是?
搭配zerofill時有區別,它規定了MySQL的一些交互工具(例如MySQL命令行客戶端)用來顯示字符的個數。
比如,定義字段的時候,定義了zerofill,那int(1),你存入10,顯示就是10;而int(4),你存入10,顯示就是0010,也就是前面補0,補到長度為對應的數字,在數據庫中存放的還是10,只是用一些交互工具顯示時,給補了0