Was bedeutet das n nach int(n) in MySQL?

Was bedeutet das n nach int(n) in MySQL?

Sie wissen vielleicht bereits, dass die Länge 1 von int(1) nicht die zulässige Speicherbreite darstellt!

Aber viele Leute haben nicht wirklich studiert, was diese Länge bedeutet. Heute werde ich eine kurze Analyse geben!

Schauen wir uns ein einfaches Beispiel zur Tabellenerstellung an:

Tabellentest erstellen(
 id int(11) unsigned NOT NULL AUTO_INCREMENT,
 uid int(3) NICHT NULL,
 PRIMÄRSCHLÜSSEL (id)
)ENGINE=InnoDB STANDARD-CHARSET=utf8mb4;

Hier nehmen wir das uid-Feld als Beispiel und setzen es auf int(3)

Die Frage ist also, wenn wir int(3) setzen, können wir dann nicht die Daten 1234 speichern?

Anschließend können Sie es testen, indem Sie die folgende SQL-Anweisung eingeben

in „Test“ einfügen („uid“) VALUES(1234);
in „Test“ („uid“) einfügen VALUES(12345678);

Das resultierende Diagramm sieht wie folgt aus:

Freunde können feststellen, dass die Daten 1234 erfolgreich durch die obige SQL-Anweisung eingefügt wurden, und wir können auch weitere Datenziffern einfügen! Warum ist das so? Siehe unten

Hier sind die Gründe:

Wir können dieses int(n) einfach so verstehen:

Diese Länge teilt MySQL mit, dass die Breite der in diesem Feld gespeicherten Daten n Ziffern beträgt. Wenn Sie nicht n Ziffern speichern, kann MySQL sie natürlich auch normal speichern (solange sie innerhalb des Speicherbereichs dieses Typs liegen)!

Dann können wir die Tabelle test2 erneut erstellen und dieses Mal fügen wir dem uid-Feld die folgenden Einschränkungen hinzu: unsigned und zerofill

==Feldbeschränkungen werden später ausführlich besprochen==

Der MySQL-Code lautet wie folgt:

Tabelle erstellen test2(
 id int(11) unsigned NOT NULL AUTO_INCREMENT,
 uid int(3) unsigned zerofill NICHT NULL,
 PRIMÄRSCHLÜSSEL (id)
)ENGINE=InnoDB STANDARD-CHARSET=utf8mb4;

Jetzt mein UID-Feld: Länge (n) = 3, Feldeinschränkung = vorzeichenlos und Nullauffüllung: (vorzeichenlose Einschränkung und 0 verwenden, um die Zifferneinschränkung aufzufüllen)

Nachdem dieses Einschränkungsfeld festgelegt wurde, füllt das System beim Einfügen von Daten in die Tabelle das UID-Feld links automatisch mit 0, wenn es weniger als 3 Ziffern enthält.

Sie können den Code testen, indem Sie die Zahl 33 in das UID-Feld einfügen.

einfügen in `test2` (`uid`) VALUES(33);

Das resultierende Diagramm sieht wie folgt aus:

Sind Sie überrascht, dass bei einer Länge von weniger als 3 tatsächlich von links mit Nullen aufgefüllt wird? Hahahaha

Also: Jetzt sollte uns klar sein, dass die Länge n nach int nichts mit der Größe des von Ihnen gespeicherten numerischen Werts zu tun hat!

==Zusammenfassung:==

Wenn der Datentyp des Tabellenfelds als int definiert wird, ist die Länge n dahinter bedeutungslos. Solange sie innerhalb des Speicherbereichs dieses Typs liegt, kann MySQL sie normal speichern! Wenn Sie links mit 0 auffüllen müssen, muss dieses Feld eine Zerofill-Beschränkung und eine unsignierte Einschränkung haben!

Dies ist das Ende dieses Artikels darüber, was das n nach int(n) in MySQL bedeutet. Weitere relevante MySQL int(n)-Inhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Unterschied zwischen int(10) und int(11) in MySQL
  • Sind die Wertebereiche von int(3) und int(10) in MySQL gleich?
  • Detaillierte Erklärung des Unterschieds zwischen MySQL int(3) und int(11)
  • Eine kurze Diskussion über den Unterschied zwischen int(1) und int(10) in MySQL

<<:  JavaScript implementiert die Eingabeüberprüfung im Kennwortfeld

>>:  Detaillierte Erklärung der Lösung für das zu langsame Docker-Compose

Artikel empfehlen

Implementierung mehrerer Tomcat-Instanzen auf einer einzigen Maschine

1. Einleitung Zunächst müssen wir eine Frage bean...

Detailliertes Tutorial zum Kompilieren und Installieren von Python3.6 unter Linux

1. Gehen Sie zunächst auf die offizielle Website ...

Ändern Sie die Startzeit von Grub in Ubuntu

Die Online-Suche zum Ändern der Grub-Startzeit be...

Methode der Toolbibliothek zur Generierung von Vue-Komponentendokumenten

Inhaltsverzeichnis Analysieren von VUE-Dateien Do...

Ändern Sie den Stil des HTML-Textkörpers in JS

Inhaltsverzeichnis 1. Ursprüngliche Definition 2....

Detaillierte Erklärung der Verwendung von Object.assign() in ES6

Inhaltsverzeichnis 2. Zweck 2.1 Objekten Eigensch...

Linux Dateisystemtyp anzeigen Beispielmethode

So überprüfen Sie den Dateisystemtyp einer Partit...

Installation von VMware Workstation unter Linux (Ubuntu)

Wenn Sie nicht wissen, wie das System auf dem Com...