在MySQL中,int類型可以用來存儲整數。其中,int(11)和int(10)都是常見的設置,但它們之間的差別是什么呢?
實際上,括號中的數字僅僅是一種顯示寬度上的設置。無論你設置int(11)還是int(10),它們都能儲存-2147483648到2147483647(共2^32個數),包括0。因此,從存儲數據的角度來看,int(11)和int(10)是沒有區別的。
那么,這些數字設置有什么用處呢?在處理大數字時,int(11)會自動對顯示的數字進行填充,這樣輸出的數字格式就保證了對齊。對于int(10)來說,也可以對其進行相同的展示寬度的設置,使其輸出格式與int(11)一致。
最后,需要注意的是,如果使用了UNSIGNED關鍵字,int(11)和int(10)的最大值將分別變成4294967295和1073741823。因此,在設置數據類型的時候需要根據實際需要進行選擇,以便在存儲和展示上都能滿足需求。
示例代碼: CREATE TABLE `test` ( `id` int(11) NOT NULL, `salary` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `test` (`id`, `salary`) VALUES (1, 10000), (2, 20000), (3, 30000); SELECT * FROM `test`;