Heim  >  Artikel  >  Datenbank  >  Was ist die maximale Größe eines MySQL VARCHAR?

Was ist die maximale Größe eines MySQL VARCHAR?

王林
王林nach vorne
2023-09-06 08:05:071920Durchsuche

MySQL VARCHAR 最大大小是多少?

MySQL konnte vor Version 5.0.3 255 Zeichen speichern, ab Version 5.0.3 sind es jedoch 65.535 Zeichen.

In der offiziellen MySQL-Dokumentation heißt es:

Die effektive maximale Länge von VARCHAR in MySQL 5.0.3 und höher hängt von der maximalen Zeilengröße (65.535 Bytes, die von allen Spalten gemeinsam genutzt wird) und dem verwendeten Zeichensatz ab. UTF8-Zeichen erfordern beispielsweise möglicherweise bis zu drei Bytes pro Zeichen, sodass eine VARCHAR-Spalte, die den UTF8-Zeichensatz verwendet, mit maximal 21.844 Zeichen deklariert werden kann.

Bitte beachten Sie, dass die maximale Zeilengröße 65.535 Byte beträgt. Das bedeutet, dass die Gesamtgröße einschließlich aller Spalten 65.535 Bytes nicht überschreiten sollte.

Sehen wir uns an, was passiert, wenn dieser Grenzwert verletzt wird:

Dies ist eine Tabelle mit zwei Spalten, „eins“ ist ein Varchar der Länge 32.765 und „zwei“ ist ein Varchar der Länge 32.766.

Länge = 32765 + 2 + 32766 + 2 = 65535.

CREATE TABLE IF NOT EXISTS `mytable` (
`one` varchar(32765) NOT NULL,
`two` varchar(32766) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Jetzt erhöhen wir die Spaltenlänge -

CREATE TABLE IF NOT EXISTS `mytable` (
`one` varchar(32767) NOT NULL,
`two` varchar(32770) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Das Obige gibt den folgenden Fehler aus -

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

Das Obige zeigt sich selbst -

The maximum row size is 65,535 bytes. If it exceeds, an error will be visible.

Das obige ist der detaillierte Inhalt vonWas ist die maximale Größe eines MySQL VARCHAR?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen