MySQLのint,bigint,decimalの範囲と整数型の括弧()
整数型の(x)
MySQLでint(10)と書いてあるので、10桁入るかと思えばそうじゃないようです。
bigint(20)も20桁ではありません。
decimal(10,0)は10桁となります。
それぞれの数値型が許容する値は以下の通りです。
型 | 範囲 |
---|---|
int型 | -2147483648から2147483647 |
bigint型 | -9223372036854775808から9223372036854775807 |
tinyint型 | -128から127 |
smallint型 | -32768から32767 |
mediumint型 | -8388608から8388607 |
じゃあ、int(10)の10とは何なのか、というとこれはZEROFILL指定時の桁数になります。
ZEROFILL指定すると、前ゼロを埋めてくれます。
1と入れると「0000000001」となります。ZEROFILL指定していなければint(10)もbigint(20)も意味のない数字になります。
MySQL8.0.17から非推奨
8.0.17からint(x)の(x)指定とzerofill属性が非推奨となっています。
MySQL :: MySQL 8.0 リファレンスマニュアル :: 11.1.1 数値データ型の構文

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント