227

私はmysqlのブール値をtinyint (1).

今日、 のような整数が定義されたテーブルと、 のような他tinyint(2)のテーブルが表示されます ...int(4)int(6)

integer 型と tinyint 型のフィールドのサイズは何を意味しますか?

4

4 に答える 4

253

は列の(m)表示幅を示します。MySQL クライアントなどのアプリケーションは、クエリ結果を表示するときにこれを利用します。

例えば:

| v   | a   |  b  |   c |
+-----+-----+-----+-----+
| 1   | 1   |  1  |   1 |
| 10  | 10  | 10  |  10 |
| 100 | 100 | 100 | 100 |

ここでabおよびはそれぞれ、およびcを使用しています。ご覧のとおり、表示幅を使用して左側の値をパディングします。TINYINT(1)TINYINT(2)TINYINT(3)

その特定のタイプの許容される値の範囲には影響しないことに注意することが重要です。つまり、TINYINT(1)引き続き を受け入れます[-128 .. 127]

于 2012-10-11T12:56:41.287 に答える
136

表示幅のことです

tinyint(1) と tinyint(2) のどちらを使用しても、違いはありません。

私は常に tinyint(1) と int(11) を使用し、いくつかの mysql クライアント (navicat、sequel pro) を使用しました。

まったく意味がありません!テストを実行しましたが、上記のすべてのクライアントまたはコマンドライン クライアントでさえ、これを無視しているようです。

ただし、オプションを使用している場合は、表示幅ZEROFILLが最も重要です。たとえば、テーブルに次の 2 つの列があります。

tinyint(2)ゼロフィル

B tinyint(4) ゼロフィル

以下のスクリーンショットに示すように、両方の列の値は 1 で、列A の出力は01Bになります:)0001

表示幅でゼロフィル

于 2016-12-02T18:33:33.943 に答える
17

INT、TINYINT について・・・これらは異なるデータ型で、INT は 4 バイトの数値、TINYINT は 1 バイトの数値です。詳細については、INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT を参照してください。

TINYINT データ型の構文は TINYINT(M) です。ここで、M は最大表示幅を示します (MySQL クライアントがサポートしている場合にのみ使用されます)。

数値型属性

于 2012-10-11T12:55:57.073 に答える