Heim > Datenbank > MySQL-Tutorial > Wie lang ist int(5) in MySQL?

Wie lang ist int(5) in MySQL?

王林
Freigeben: 2023-06-03 23:24:14
nach vorne
1913 Leute haben es durchsucht

Wie lang ist int(5)?

Bedeutet int(5) beim Entwerfen von MySQL-Tabellenfeldern, dass die Länge des Feldes 5 beträgt?

Wenn Sie so denken, dann lesen Sie bitte weiter, ich glaube, Sie werden etwas Neues gewinnen.

Schauen wir uns zunächst ein praktisches Beispiel an

Wir erstellen eine neue Tabelle mit nur einer Primärschlüssel-ID und einem Längenfeld, wobei das Längenfeld auf int(5) gesetzt ist.

#新建test表
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `length` int(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Nach dem Login kopieren

Stimmt es, dass das Längenfeld nur Zahlen mit einer Länge von nicht mehr als 5 speichern kann? Versuchen wir, ein Datenelement einzufügen.

Wir fügen ein größeres Datenelement 123456789 ein. Diese Daten bestehen aus insgesamt 9 Ziffern, um zu prüfen, ob sie normal eingefügt werden können.

#插入一条大数据
insert into test (length) values (123456789);
Nach dem Login kopieren

Es stellt sich heraus, dass int(5) Daten mit einer Länge von mehr als 5 einfügen kann, sodass jetzt sicher ist, dass int(5) nicht die Breite der Daten darstellt.

#查看插入数据
mysql> select * from test;
+------------+-----------+
| id         | length    |
+------------+-----------+
|  1         | 123456789 |
+------------+-----------+
Nach dem Login kopieren

In MySQL ist die Länge des int-Feldes tatsächlich auf 4 Bytes festgelegt. Unabhängig davon, ob Sie int(11) oder int(5) verwenden, ist die Länge des Feldes auf 4 Bytes festgelegt.

int(5) wird tatsächlich in Verbindung mit einem anderen Attribut „Zerofill“ verwendet, was bedeutet, dass, wenn die Breite des Feldwerts kleiner als 5 ist, dieser automatisch mit 0 aufgefüllt wird, wenn die Breite größer oder gleich ist bis 5 ist es nicht erforderlich, 0 aufzufüllen.

#int(5) length 字段添加了 zerofill 属性
mysql> select * from test;
+----+--------+
| id | length |
+----+--------+
|  1 |  00888 |
|  2 |  00012 |
|  3 |  12345 |
|  4 | 123456 |
+----+--------+
Nach dem Login kopieren

Beachten Sie, dass das Zerofill-Attribut zu diesem Feld hinzugefügt werden muss, sonst funktioniert int(5) nicht.

#int(5) length 字段没有 zerofill 属性
mysql> select * from test;
+----+--------+
| id | length |
+----+--------+
|  1 |    888 |
|  2 |     12 |
|  3 |  12345 |
|  4 | 123456 |
+----+--------+
Nach dem Login kopieren

Wenn Sie die Länge eines Integer-Feldes festlegen möchten, sollten Sie die folgenden Typen auswählen: tinyint, smallint, mediumint, int, bigint. Die spezifischen Längen finden Sie in der Tabelle unten.

Wie lang ist int(5) in MySQL?

Beachten Sie, dass das Zerofill-Attribut nicht unterstützt wird und automatisch in 0 konvertiert wird, wenn Sie vorzeichenbehaftete Ganzzahlen speichern möchten. Dies muss in einigen Unternehmen mit Dekrementierung berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWie lang ist int(5) in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage