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:
|
<<: JavaScript implementiert die Eingabeüberprüfung im Kennwortfeld
>>: Detaillierte Erklärung der Lösung für das zu langsame Docker-Compose
Bereiten Sie die Zutaten wie oben gezeigt vor (ps...
Füge im CSS-Style des Elements, welches die Hinte...
1. Einleitung Zunächst müssen wir eine Frage bean...
Übersicht (offiziell gibt es eine ausführlichere ...
1. Gehen Sie zunächst auf die offizielle Website ...
Problembeschreibung Nach der Installation von Wor...
Das MySQL auf einem Server im Computerraum lief e...
Die Online-Suche zum Ändern der Grub-Startzeit be...
Wenn die Datenmenge in MySQL groß ist, wird die S...
Inhaltsverzeichnis Analysieren von VUE-Dateien Do...
Inhaltsverzeichnis 1. Ursprüngliche Definition 2....
Inhaltsverzeichnis 2. Zweck 2.1 Objekten Eigensch...
So überprüfen Sie den Dateisystemtyp einer Partit...
Wenn Sie nicht wissen, wie das System auf dem Com...
1. Übersicht Beim täglichen Betrieb und bei der W...