Ich kannte Boolesch in MySQL als tinyint (1)
.
Heute sehe ich eine Tabelle mit definierten eine ganze Zahl wie tinyint(2)
, und auch andere mögen int(4)
, int(6)
...
Was bedeutet die Größe im Feld vom Typ Integer und Winzling?
mysql
sqldatatypes
Realtebo
quelle
quelle
Antworten:
Dies bedeutet Anzeigebreite
Ob Sie tinyint (1) oder tinyint (2) verwenden, spielt keine Rolle.
Ich benutze immer tinyint (1) und int (11), ich habe mehrere MySQL-Clients verwendet (Navicat, Sequel Pro).
Es bedeutet überhaupt nichts! Ich habe einen Test durchgeführt, alle oben genannten Clients oder sogar der Befehlszeilenclient scheinen dies zu ignorieren.
Die Anzeigebreite ist jedoch am wichtigsten, wenn Sie die
ZEROFILL
Option verwenden. Ihre Tabelle enthält beispielsweise die folgenden zwei Spalten:Eine winzige Nullfüllung (2)
B tinyint (4) zerofill
Beide Spalten haben den Wert 1, die Ausgabe für Spalte A wäre
01
und0001
für B , wie im folgenden Screenshot gezeigt :)quelle
Das
(m)
gibt die Spaltenanzeigebreite an; Anwendungen wie der MySQL-Client nutzen dies, wenn sie die Abfrageergebnisse anzeigen.Beispielsweise:
Hier
a
,b
undc
verwendetTINYINT(1)
,TINYINT(2)
undTINYINT(3)
jeweils. Wie Sie sehen können, werden die Werte auf der linken Seite anhand der Anzeigebreite aufgefüllt.Es ist wichtig zu beachten, dass dies keinen Einfluss auf den akzeptierten Wertebereich für diesen bestimmten Typ hat, dh
TINYINT(1)
weiterhin akzeptiert[-128 .. 127]
.quelle
quelle
Informationen zu INT, TINYINT ... Dies sind verschiedene Datentypen. INT ist eine 4-Byte-Nummer, TINYINT ist eine 1-Byte-Nummer. Weitere Informationen hier - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT .
Die Syntax des Datentyps TINYINT lautet TINYINT (M), wobei M die maximale Anzeigebreite angibt (wird nur verwendet, wenn Ihr MySQL-Client dies unterstützt).
Numerische Typattribute .
quelle