mysql tinyint的使用 默認填零的結果


mysql 數據庫中要加入字段,並設置默認值為零,數據庫設計原則所占的儲存空間越少越好,夠用就行,基於節省存儲空間的考慮所以用了tinyint類型,

int類型占4個字節,tinyint占1個字節,於是設計了tinyint的字段類型,在長度的填寫上寫了2,然后設置了填充零的勾選,

 

於是在dll里面channel` tinyint(2) unsigned zerofill DEFAULT '00' 

問題來了,2指的是存儲寬度,不表示存儲長度。如果列制定了zerofill 就會用0填充顯示,例如tinyint(2)指定后2就會顯示為02,自動左邊補零

tinyint有固定范圍值,帶符號的范圍是-128到127。無符號的范圍是0到255。

 

琢磨好上面兩句話,發現設置tinyint(2)對我來說是畫蛇添足了,tinyint已經滿足我的使用。剛開始設置的時候把存儲寬度和存儲長度概念給弄混淆了。

而且在tinyint的使用中,MYSQL中沒有布爾類型,但是如果你定義了布爾類型,它會自動給你轉換成Tinyint。

保存BOOLEAN值時用1代表TRUE,0代表FALSE,boolean在MySQL里的類型為tinyint(1), 

MySQL里有四個常量:true,false,TRUE,FALSE,它們分別代表1,0,1,0。

也就是說如果需要建立一張大量存儲0和1的字段的表,可以充分考慮tinyint了。

科普記錄一下:

類型 大小 范圍(有符號) 范圍(無符號) 用途 

TINYINT 1字節 (-128,127) (0,255) 小整數值 
SMALLINT 2 字節 (-32 768,32 767) (0,65 535) 大整數值 
MEDIUMINT 3 字節 (-8 388 608,8 388 607) (0,16 777 215) 大整數值 
INT或INTEGER 4 字節 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整數值 
BIGINT 8 字節 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM