-3

私はこのテーブルを作成しました:

create table t(amount int(5));

そして、これらの値を挿入しようとしました:

insert into t values
  (1),
  (11),
  (111),
  (1111),
  (11111),
  (111111),
  (11111111);

テーブルが ERROR を与えるのではなく、上記のすべての値を受け入れるのはなぜですか?
この問題の解決策はありますか?

4

1 に答える 1

0

Intは常に4バイト幅です。

int(5)の場合、display-widthは5を意味します

その動作を確認するには、次のクエリを使用してテーブルを作成します

CREATE TABLE `t` (
    `amount` INT(5) ZEROFILL NULL DEFAULT NULL
)

番号20を挿入します。

次に、実行しようとするselect * from tと、次のようになります

ここに画像の説明を入力してください

于 2013-01-26T14:35:59.437 に答える