MySQLのint,bigint,decimalの範囲と整数型の括弧()

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 数値データ型の構文

コメント

タイトルとURLをコピーしました