ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:ymck どうしてもこのクエリーがミスになる
困り度:
  • すぐに回答を!
Webmin上からテーブルを作成しようとしたら、以下のようにエラーになりました。

テーブルを作成できませんでした : SQL create table `page` (`page_id` mediumint(10000) not null,`title` varchar(100) not null,`descrption` varchar(500) not null,`keywords` varchar(100) not null,`parent_id` mediumint(10000) not null,`page_seq` int(100) not null,`createdate` datetime not null default 'now()',`modifydate` datetime not null default 'now()') が失敗しました: Display width out of range for column 'page_id' (max = 255)

page_id はmediumint(10000)にしてるのに、なぜ「column 'page_id' (max = 255)」と言われてしまうのか不思議です。

どなたかおわかりのかたいらっしゃいましたら、お教えいただければ幸いです
質問投稿日時:08/03/28 07:06
質問番号:3901198
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:auty (10000)で指定している数値(10000)は、取り扱う数の大きさではなく、
精度あるいは数字全体の有効桁数のことです。
(max = 255)は、有効桁数255を意味します。

mediumintが扱う数値の範囲は、
---------------------------------------------
mediumint      -8388608 から 8388607
mediumint UNSIGNED  0    から 16777215
---------------------------------------------

共に 3バイト です。したがって、例えば

mediumint(8) UNSIGNED
または
mediumint(8)

で十分でしょう。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:08/03/28 07:59
回答番号:No.1
この回答へのお礼ご回答ありがとうございます。

てっきり勘違いしておりました。

無事、解決できました。ありがとうございます。