基於 UTF-8 編碼環境實測,快速釐清三大常用類型的長度語義與存儲行為。
| 類型 | 長度含義 | 存儲特徵 | 實測驗證 |
|---|---|---|---|
| INT | INT(M) 中 M 為顯示寬度,不限制存儲範圍。固定 4 字節。 | 有符號:-2147483648 ~ 2147483647 | INT(1) 與 INT(11) 存儲完全相同 |
| VARCHAR | 長度 = 字符數(非字節數)。UTF-8 下 1 個漢字/字母/數字 = 1 長度。 | 實際存儲 = 實際字符長度 + 1~2 字節長度前綴 | VARCHAR(15) 可存 15 個漢字或 15 個字母 |
| TINYTEXT | 固定最大長度 255 字符。UTF-8 下 1 漢字 = 1 長度。 | 存儲 = 實際長度 + 1 字節前綴,最大 255 字符 | 超過 255 字符插入報錯 |
ZEROFILL 顯示,建表建議直接寫 INT。後續將補充 BLOB、DATETIME、DECIMAL 等類型實測數據。