
MySQLでint型は、
「符号付きの範囲は -2147483648 ~ 2147483647。符号なしの範囲は 0 ~ 4294967295」
と、本やサイトに書いてありますが、
create table時に、
桁数として1億を指定しようとしたら、
以下のように怒られてしまいました。
mysql> create table `page_master` (`id` int(100000000) not null,`lang` varchar(5) not null
,`is_top` tinyint(2) not null,`is_valid` tinyint(1) not null) type = innodb
-> ;
ERROR 1439 (42000): Display width out of range for column 'id' (max = 255)
mysql>
なぜこのようなことが起こるのでしょうか?
また、対応策はありますでしょうか?
以上、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
int型の宣言はint(精度)になります
精度というのは表示桁数です。
ただしintは数値型なので桁数は特殊な場合をのぞき無視されます。
たとえばint(1)とすると一桁しか表示されないのを期待するかもしれませんが
実際には10を表現するときは「1」ではなく「10」と表示されます
ではどういう場合につかわれるかというと、
UNSIGNED ZEROFILL
のオプションを付けた時に有効になります。
たとえばint(5)で表示するときにはそれぞれ以下のようになります。
1→00001
100→00100
100000→100000※桁があふれた場合はすべて表示する
なお指定できる桁数の最大はcharなどの文字列型と同等に255桁が最大ですが
実際のデータ精度から考えてもそんな桁数は必要なく、11桁が標準値と
なっています。
http://dev.mysql.com/doc/refman/4.1/ja/numeric-t …
詳細な情報&知らなかった情報をお教えくださってありがとうございます。
教えていただいたURLを熟読してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
下記の問合せを行うクエリを、P...
-
mysqlがインストールされている...
-
テーブル名が可変の場合のクエ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
テーブル作成時のカラムについて
-
SQL文についての質問です。
-
「ストレージエンジン」とは何か
-
データベースの接続に失敗して...
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
mysqlがインストールされている...
-
エラー 1068 (42000): 複数の主...
-
mysqlのupdate構文についての質...
-
SQLでカラムを追加し、条件に合...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
テーブル名が可変の場合のクエ...
-
utf8bomとutf8mb4の違いがいま...
-
(初心者)MySQLやmaraDBで、crea...
-
MAMP 99ドル約1.6万円 高い...
-
SQLを作ったのですがうまくいき...
-
SQLで漢字名称を都道府県や市区...
-
同一日に複数レコードがある場...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
あってますか?SQL
-
SELECT * FROM `生徒名簿` INNE...
-
初心者Mysqlの関数のsubstring...
おすすめ情報