Frage

In MySQL -Tabellendefinitionen gibt es eine andere dazwischen INT(5) und SMALLINT(5)? Oder repräsentieren beide die gleiche Größe?

War es hilfreich?

Lösung

Ein int und ein smallint haben unterschiedliche Größen und folglich Bereiche.Das (5) ist smallint(5) oder int(5) wird als a genannt "Numerisches Typattribut" und es repräsentiert die "Anzeigebreite" des Feldes,

MySQL unterstützt eine Erweiterung, um die Anzeigebreite der Ganzzahl -Datentypen in Klammern optional anzugeben, die dem Basis -Schlüsselwort für den Typ folgen. Zum Beispiel, INT(4) Gibt an ein INT mit einer Anzeigebreite von vier Ziffern. Diese optionale Anzeigebreite kann von Anwendungen verwendet werden, um Ganzzahlwerte mit einer Breite zu zeigen, die weniger als die für die Spalte angegebene Breite durch linke Paddierung mit Leerzeichen angezeigt wird. (Das heißt, diese Breite ist in den mit Ergebnissen zurückgegebenen Metadaten vorhanden. Ob sie verwendet wird oder nicht, liegt bei der Anwendung.)

In Verbindung mit dem optionalen (nicht standardmäßigen) Attribut ZEROFILL, Die Standardpolsterung von Leerzeichen wird durch Nullen ersetzt. Zum Beispiel für eine Spalte, die als als deklariert als als deklariert ist INT(4) ZEROFILL, ein Wert von 5 wird abgerufen wie 0005.

Dies ist eine MySQL -Erweiterung, und ZeroFill ist eine "Erweiterung" für eine Erweiterung.

Für die vernünftige Methode zur Steuerung der Anzeige eines numerischen Typs, keine numerischen Typattribute und stattdessen verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top