私はmysqlのブール値をtinyint (1)
.
今日、 のような整数が定義されたテーブルと、 のような他tinyint(2)
のテーブルが表示されます ...int(4)
int(6)
integer 型と tinyint 型のフィールドのサイズは何を意味しますか?
私はmysqlのブール値をtinyint (1)
.
今日、 のような整数が定義されたテーブルと、 のような他tinyint(2)
のテーブルが表示されます ...int(4)
int(6)
integer 型と tinyint 型のフィールドのサイズは何を意味しますか?
は列の(m)
表示幅を示します。MySQL クライアントなどのアプリケーションは、クエリ結果を表示するときにこれを利用します。
例えば:
| v | a | b | c |
+-----+-----+-----+-----+
| 1 | 1 | 1 | 1 |
| 10 | 10 | 10 | 10 |
| 100 | 100 | 100 | 100 |
ここでa
、b
およびはそれぞれ、およびc
を使用しています。ご覧のとおり、表示幅を使用して左側の値をパディングします。TINYINT(1)
TINYINT(2)
TINYINT(3)
その特定のタイプの許容される値の範囲には影響しないことに注意することが重要です。つまり、TINYINT(1)
引き続き を受け入れます[-128 .. 127]
。
表示幅のことです
tinyint(1) と tinyint(2) のどちらを使用しても、違いはありません。
私は常に tinyint(1) と int(11) を使用し、いくつかの mysql クライアント (navicat、sequel pro) を使用しました。
まったく意味がありません!テストを実行しましたが、上記のすべてのクライアントまたはコマンドライン クライアントでさえ、これを無視しているようです。
ただし、オプションを使用している場合は、表示幅ZEROFILL
が最も重要です。たとえば、テーブルに次の 2 つの列があります。
tinyint(2)ゼロフィル
B tinyint(4) ゼロフィル
以下のスクリーンショットに示すように、両方の列の値は 1 で、列A の出力は01
とBになります:)0001
INT、TINYINT について・・・これらは異なるデータ型で、INT は 4 バイトの数値、TINYINT は 1 バイトの数値です。詳細については、INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT を参照してください。
TINYINT データ型の構文は TINYINT(M) です。ここで、M は最大表示幅を示します (MySQL クライアントがサポートしている場合にのみ使用されます)。