Ich würde gerne wissen, was die maximale Größe für einen MySQL VARCHAR-Typ ist.
Ich habe gelesen, daß die maximale Größe durch die Zeilengröße begrenzt ist, die etwa 65k beträgt. Ich habe versucht, das Feld auf "VARCHAR(20000)" einzustellen, aber es sagt, dass das zu groß ist.
Ich könnte es auf varchar(10000)
einstellen. Was ist die genaue Höchstgrenze, auf die ich es einstellen kann?
Denken Sie daran, dass MySQL eine Höchstgrenze für die Zeilengröße hat Die interne Darstellung einer MySQL-Tabelle hat eine maximale Zeilengröße von 65.535 Bytes, wobei BLOB- und TEXT-Typen nicht mitgezählt werden. BLOB- und TEXT-Spalten tragen nur 9 bis 12 Bytes zur Begrenzung der Zeilengröße bei, da ihr Inhalt getrennt vom Rest der Zeile gespeichert wird. Lesen Sie mehr über Limits on Table Column Count and Row Size
Maximale Größe, die eine einzelne Spalte einnehmen kann, ist vor und nach MySQL 5.0.3 unterschiedlich Werte in VARCHAR-Spalten sind Zeichenketten mit variabler Länge. Die Länge kann als Wert von 0 bis 255 vor MySQL 5.0.3 und 0 bis 65.535 in 5.0.3 und späteren Versionen angegeben werden. Die effektive Maximallänge eines VARCHAR in MySQL 5.0.3 und höher hängt von der maximalen Zeilengröße (65.535 Byte, die von allen Spalten gemeinsam genutzt wird) und dem verwendeten Zeichensatz ab.
Beachten Sie jedoch, dass die Grenze niedriger ist, wenn Sie einen Multi-Byte-Zeichensatz wie utf8 oder utf8mb4 verwenden.
Verwenden Sie `TEXT'-Typen, um die Zeilengrößenbegrenzung zu überwinden.
Die vier TEXT-Typen sind TINYTEXT, TEXT, MEDIUMTEXT und LONGTEXT. Sie entsprechen den vier BLOB-Typen und haben die gleichen maximalen Längen und Speicheranforderungen.
Weitere Einzelheiten zu BLOB- und TEXT-Typen
noch mehr
Weitere Einzelheiten finden Sie unter [Data Type Storage Requirements] (http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html), wo die Speicheranforderungen für alle Datentypen behandelt werden.
Sie können auch MEDIUMBLOB/LONGBLOB oder MEDIUMTEXT/LONGTEXT verwenden.
Ein BLOB-Typ in MySQL kann bis zu 65.534 Bytes speichern. Wenn Sie versuchen, mehr als diese Menge an Daten zu speichern, schneidet MySQL die Daten ab. MEDIUMBLOB kann bis zu 16.777.213 Bytes speichern, und LONGBLOB kann bis zu 4.294.967.292 Bytes speichern.
Sie können Typ TEXT
verwenden, der nicht auf 64KB begrenzt ist.