今天在處理數據庫問題的時候,發現對於某個字段sort 在初始化時,是int(1),可是仍然存進去了超過9的數字,存入99依然能夠,那我要這1又有何用呢?他到底能存多少長度?前端
在查閱了網上的資料後發現:mysql
int(1),這個長度1並不表明容許存儲的寬度
首先搬運一個整數類型存儲和範圍:sql
(PS:MD裏面的表格真難用啊,還不如去前端編輯器裏先處理好再複製出來)數據庫
類型
|
字節
|
最小值
|
最大值
|
|
|
(帶符號的/無符號的)
|
(帶符號的/無符號的)
|
TINYINT
|
1
|
-128
|
127
|
|
|
0
|
255
|
SMALLINT
|
2
|
-32768
|
32767
|
|
|
0
|
65535
|
MEDIUMINT
|
3
|
-8388608
|
8388607
|
|
|
0
|
16777215
|
INT
|
4
|
-2147483648
|
2147483647
|
|
|
0
|
4294967295
|
BIGINT
|
8
|
-9223372036854775808
|
9223372036854775807
|
|
|
0
|
18446744073709551615
|
那麼在這裏究竟這裏int(1) 和int (5) int(10) 有什麼區別呢
這裏的1和5和10 只是顯示寬度,即若是我存儲了 一個 9, 則在mysql中,其實int(1)的字段存儲的是9,而int (5)存儲的是00009,而int(10)存儲的是00000000009.編輯器
其實他們存儲的長度都是同樣的,只是顯示寬度不同而已。it