5

Mysqlで:

INT(1) = 21474836474バイトを保存します。

次に、INT(2) = ?バイトを?保存します。

INT(1)で2147483647を超えて使用しましたが、機能しません!また、INT(2)で同じ値を使用しましたが、機能しませんか?なんで ?

解決 ?

4

4 に答える 4

9

オプションの表示幅指定子は、ゼロフィルを使用する場合にのみ適用可能であり、整数データ型の内部サイズ(バイト単位)とは関係ありません。常に4バイトです。

このオプションの表示幅は、アプリケーションで、列に指定された幅よりも小さい幅の整数値をスペースで左パディングして表示するために使用できます。(つまり、この幅は、結果セットとともに返されるメタデータに存在します。使用されるかどうかは、アプリケーションによって異なります。)

これが[リンク]です(http://dev.mysql.com/doc/refman/5.5/en/numeric-type-attributes.html

詳細の例

テーブル名が存在する場合はテーブルを削除します。

テーブルtablenameを作成します(columnname int(4)unsigned zerofill not null default 0);

テーブル名(列名)の値(123)、(456)、(1234);に挿入します。

テーブル名から*を選択します。

出力

0123

0456

1234

于 2013-02-06T18:43:54.907 に答える
5

括弧内の数字は、フィールドから返される桁数を表します。INT(1)には任意の数値を挿入できますが、0から9までの数値しか取得できません。

于 2013-02-06T11:05:05.463 に答える
2

MySQLのINTは常に4バイトの数値です。

INTタイプの構文はINT(M)です。ここで、Mは最大表示幅を示します。ただし、すべてのMySQLクライアントがこの値をサポートしているわけではありません。

于 2013-02-06T11:10:11.107 に答える
0

8バイトを取得するには、BIGINTを使用する必要があります(整数型を参照)。括弧内の数字は、最大表示幅のみを示します(数値タイプ属性を参照) 。

于 2013-02-06T11:26:06.417 に答える