首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL int(size) size 參數深度解析:顯示寬度與 ZEROFILL 的關係

     編輯:MySQL 綜合教學

MySQL int(size) size 參數深度解析:顯示寬度與 ZEROFILL 的關係

詳細實測驗證 INT(size) 中 size 的行為:不限制儲存範圍、不截斷顯示、僅配合 ZEROFILL 左補零。

官方文檔定義

M indicates the maximum display width for integer types.

實測驗證

CREATE TABLE b (b INT(4));
INSERT INTO b VALUES (10000);  -- 5 位數
SELECT * FROM b;  -- 正常顯示 10000,不截斷

ALTER TABLE b MODIFY b INT(11) ZEROFILL;
SELECT * FROM b;  -- 00000010000 (11 位補零)

ALTER TABLE b MODIFY b INT(4) ZEROFILL;
SELECT * FROM b;  -- 10000 (超過寬度不補零)

ALTER TABLE b MODIFY b INT(6) ZEROFILL;
SELECT * FROM b;  -- 010000 (6 位補零)

關鍵結論

  1. size 非位元組/位元數,純顯示寬度
  2. 無 ZEROFILL 時,size 完全無視覺影響
  3. 有 ZEROFILL 時,不足寬度左補 0,超過寬度正常顯示
  4. 預設 size:TINYINT(4), INT(11), BIGINT(20) 等

實務建議

  • 不使用 ZEROFILL 時,忽略 size 參數,直接寫 INT
  • 需固定寬度顯示 (如發票號、員工編號) 才搭配 ZEROFILL 設定合適 size
  • 遷移其他資料庫時注意:PostgreSQL/Oracle 無此參數,INT 即標準型別
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved