MySQLでは,整数データ型の基本キーワードに続く括弧内で,その型の表示幅をオプションで指定する拡張をサポートしています。たとえば,INT (4)
は4桁の表示幅のINT
を指定しています。このオプションの表示幅は,左側をスペースでパディングすることによって,カラムに対して指定された幅よりも狭く整数値を表示するために,アプリケーションで使用される場合があります。(つまり,この幅は結果セットで返されるメタデータの中にあります。これを使用するかどうかは,アプリケーションしだいです)。
表示幅は,カラムに格納できない値の範囲を制約しません。カラムの表示幅より広い値が正しく表示されなくなることもありません。たとえば,短整型(3)
として指定されたカラムには,-32768年
から32767
の通常の短整型
範囲があり3桁が許可されたこの範囲外の値は,4桁以上を使用してすべて表示されます。
オプション(非標準)の属性补零
と一緒に使用すると,デフォルトのスペースのパディングはゼロに置き換えられます。たとえば,INT(4)补零
として宣言されたカラムの場合,5
の値は0005
として取得されます。
补零
属性は,カラムが式や联盟
クエリーに含まれているときは無視されます。
补零
属性を持つ整数カラムに表示幅より大きな値を格納した場合,MySQLが一部の複雑な結合に対して一時テーブルを生成するときに問題が発生することがあります。これらの場合、MySQLはカラムの表示幅内でデータ値が適合すると想定します。
すべての整数型には,オプション(非標準)属性无符号
を指定できます。符号なしの型は,カラムで負ではない数値しか許可しないとき,またはカラムの上限の数値範囲を大きくする必要があるときに使用できます。たとえば,INT
カラムが无符号
である場合,カラム範囲のサイズは同じですが,その終点は-2147483648
と2147483647
から,0
と4294967295
に変化します。
浮動小数点と固定小数点も无符号
になり得ます。整数型と同じように,この属性は負の値がカラムに格納されるのを防ぎます。整数型とは異なり,カラム値の上限範囲は変わりません。
数値カラムに対して补零
を指定するとMySQLは自動的にそのカラムに无符号
属性を追加します。
整数または浮動小数点のデータ型には,追加の属性AUTO_INCREMENT
を指定できます。インデックスが設定されたAUTO_INCREMENT
カラムに零
(推奨)または0
の値を挿入すると,カラムは次のシーケンス値に設定されます。通常,これは
です。ここで价值
+1价值
は現在テーブルにあるカラムの最大値です。AUTO_INCREMENT
シーケンスは1
で始まります。(AUTO_INCREMENT
値を生成するために零
を挿入する場合,カラムを非空
と宣言する必要があります。カラムを零
と宣言した場合,零
を挿入すると零
が格納されます)。
MySQL 5.6.9以降では,AUTO_INCREMENT
カラムの負の値はサポートされません。