質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | ご回答ありがとうございます。 てっきり勘違いしておりました。 無事、解決できました。ありがとうございます。 |