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

MySQL INT 與 INTEGER:同義詞關系與顯示寬度誤區

     編輯:MySQL 綜合教學

結論先行

INT 和 INTEGER 完全等價,MySQL 為兼容 ANSI SQL 標準保留雙關鍵字,無任何功能、存儲、性能差異。

語法定義對照

INT[(M)] [UNSIGNED] [ZEROFILL]
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
  • 有符號范圍:-2,147,483,648 ~ 2,147,483,647
  • 無符號范圍:0 ~ 4,294,967,295
  • 存儲空間:4 字節

顯示寬度 M 的真相

  • INT(6) 中的 6 僅為顯示寬度提示,配合 ZEROFILL 左補 0
  • 不限制存儲范圍,插入 1234567 照常成功
  • 應用層不應依賴此寬度做業務校驗

UNSIGNED 與 ZEROFILL 組合

INT(5) UNSIGNED ZEROFILL
-- 插入 42 → 顯示 00042
-- 插入 -1 → 報錯/截斷為 0(嚴格模式)

版本兼容性

  • 所有 MySQL 版本、MariaDB、Percona Server 完全兼容
  • 標準 SQL:2003 定義 INTEGER 為標準名,INT 為別名
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved