2009年08月21日

[MySQL] 数値型の桁数指定

MySQL で create table する時、

CREATE TABLE `mytable` (
`id` INT( 4 ) NOT NULL
)
とかって書く時の INT( 4 )が何を意味するかって話です。

今まで私は、最大桁数を表すと思ってました。でもMySQLのリファレンスを見てみると、

MySQL には、INT(4) のように、型の基本キーワードに続いて整数値の表示幅をかっこ内に指定できるオプションがあります。このオプションの表示幅の指定は、カラムに指定された幅より小さい幅を持つ値で表示の左側を埋める目的で使用されますが、そのカラムに格納できる値の範囲が制限されたり、そのカラムに指定された幅を超える幅を持つ値の桁数が制限されたりすることはありません。オプションの拡張属性 ZEROFILL と組み合せて使用した場合、デフォルトのスペースに代わってゼロが埋め込まれます。 たとえば、INT(5) ZEROFILL として宣言されたカラムの場合、値 4 は 00004 として取り出されます。
引用元: http://dev.mysql.com/doc/refman/4.1/ja/numeric-types.html
なぬ!あくまでも表示する時の桁数であり、別に最大桁数を制限するものではないのね!!

おしまい◎

posted by dev-man at 18:15| Comment(0) | TrackBack(0) | MySQL | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック