Was ist die maximale VARCHAR-Größe von MySQL?
Ich würde gerne wissen was die max Größe ist für eine MySQL-VARCHAR-Typ.
Habe ich gelesen, dass die maximale Größe ist begrenzt durch die Zeile Größe, die über 65k. Ich habe versucht, das Feld zu varchar(20000)
aber es sagt, das ist zu groß.
Könnte ich es varchar(10000)
. Was ist der genaue max kann ich es einstellen?
InformationsquelleAutor der Frage user1832628 | 2012-11-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beachten Sie, dass MySQL hat eine maximale Zeile Größe begrenzen
Maximale Größe einer einzelnen Spalte einnehmen kann, ist andere vor und nach MySQL 5.0.3
Beachten Sie jedoch, dass der Grenzwert niedriger ist, wenn du eine multi-byte-Zeichensatz wie utf-8 oder utf8mb4.
Verwenden
TEXT
Arten inorder zu überwinden zeilengrößenlimit.Mehr details auf BLOB-und TEXT-Typen
Noch mehr
Kasse mehr details auf Datentyp Speicherbedarf die sich mit storage-Anforderungen für alle Datentypen.
InformationsquelleAutor der Antwort rajukoyilandy
Als pro die online-docses ist ein 64K Zeilen-limit und trainieren Sie die Zeile Größe:
Müssen Sie beachten, dass die Längen sind nicht eine eins-zu-eins-Zuordnung von Ihrer Größe. Zum Beispiel
CHAR(10) CHARACTER SET utf8
erfordert drei bytes für jedes der zehn Zeichen da, dass insbesondere die Kodierung ist zu berücksichtigen, für die drei-Byte-pro-Zeichen-Eigenschaftutf8
(das ist MySQL istutf8
- Kodierung eher als "echte" UTF-8, das kann bis zu vier Byte).Aber, wenn Ihre Zeilen-Größe nähert 64 KB, möchten Sie vielleicht zu prüfen, das schema Ihrer Datenbank. Es ist eine seltene Tabelle, die benötigt werden, in einem weiten ordnungsgemäß eingerichtet ist (3NF) Datenbank - es ist möglich, nur nicht sehr Häufig.
Wenn Sie möchten, verwenden Sie mehr als das, können Sie die
BLOB
oderTEXT
Arten. Diese zählen nicht gegen die 64K-Grenze der Reihe (abgesehen von einer kleinen administrativen footprint), aber Sie müssen sich bewusst sein, andere Probleme, die aus deren Nutzung, wie nicht in der Lage, zu Sortieren, mit der ganzen text-block über eine bestimmte Anzahl von Zeichen (dies kann konfiguriert werden, nach oben), zwingt temporären Tabellen auf Platte statt im Arbeitsspeicher, oder konfigurieren client-und server-comms-Puffer zu verarbeiten die Größen effizient.Den Größen erlaubt sind:
Haben Sie immer noch die byte - /Zeichen-mismatch (so dass ein
MEDIUMTEXT utf8
Spalte speichern kann, die "nur" über eine halbe million Zeichen,(16M-1)/3 = 5,592,405
) aber noch stark erweitert Ihr Angebot.InformationsquelleAutor der Antwort paxdiablo
Quelle
InformationsquelleAutor der Antwort Attila
Aus der MySQL Dokumentation:
Grenzen für die VARCHAR variiert je nach Zeichensatz verwendet. Mithilfe von ASCII-würde 1 byte pro Zeichen. Das heißt, Sie könnten-Shop 65,535 Zeichen. Mit utf8 verwenden 3 bytes pro Zeichen, was in Zeichen-Grenze von 21,844. ABER, wenn Sie mit der modernen multibyte charset utf8mb4, die Sie nutzen sollten! Es unterstützt emojis und Sonderzeichen. Es wird mit 4 bytes pro Zeichen. Dies begrenzt die Anzahl der Zeichen pro Tabelle bis 16.383. Beachten Sie, dass auch andere Felder wie INT wird auch gezählt werden, um diese Grenzen.
Fazit:
utf8 maximal 21,844 Zeichen
utf8mb4 maximal 16,383 Zeichen
InformationsquelleAutor der Antwort Firze
können Sie auch verwenden, MEDIUMBLOB/LONGBLOB oder MITTELLANGER/langer Text
Einen BLOB-Typ in MySQL speichern kann bis zu 65,534 bytes, wenn Sie versuchen, zu speichern mehr als das, viel Daten MySQL truncate die Daten. MEDIUMBLOB können bis zu 16,777,213 bytes, und LONGBLOB speichern kann bis zu 4,294,967,292 bytes.
InformationsquelleAutor der Antwort SRIRAM
Vor Mysql-version 5.0.3 Varchar-Datentyp speichern kann 255 Zeichen, aber von 5.0.3 kann Sie speichern 65,535 Zeichen.
ABER es hat eine Einschränkung der maximale Zeile Größe von 65.535 bytes. Es bedeutet, einschließlich aller Spalten, es darf nicht mehr als 65.535 bytes.
In Ihrem Fall ist es vielleicht möglich, dass, wenn Sie versuchen, mehr als 10000, ist es mehr als 65.535 und mysql gibt den Fehler.
Weitere Informationen: https://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html
blog mit Beispiel: http://goo.gl/Hli6G3
InformationsquelleAutor der Antwort Suresh Kamrushi
MySQL VARCHAR max Größe ist 65.535 Byte. Es kann Sie speichern 65,535 Zeichen.
InformationsquelleAutor der Antwort Kamrul Hasan
Können Sie
TEXT
- Typdie sich nicht nur auf 64KB.InformationsquelleAutor der Antwort mvp