Ik zou graag willen weten wat de maximale grootte is voor een MySQL VARCHAR type.
Ik las dat de max grootte gelimiteerd is door de rij grootte die ongeveer 65k is. Ik heb geprobeerd het veld in te stellen op varchar(20000)
maar het zegt dat dat te groot is.
Ik zou het kunnen instellen op varchar(10000)
. Wat is de exacte max waarop ik het kan instellen?
Houd in gedachten dat MySQL een maximum rij-grootte limiet heeft
De interne representatie van een MySQL tabel heeft een maximum rij-grootte van 65.535 bytes, BLOB en TEXT types niet meegerekend. BLOB en TEXT kolommen dragen slechts 9 tot 12 bytes bij aan de limiet van de rijgrootte omdat hun inhoud apart van de rest van de rij wordt opgeslagen. Lees meer over Limits on Table Column Count and Row Size.
Maximum grootte die een enkele kolom kan innemen, is verschillend voor en na MySQL 5.0.3
Waarden in VARCHAR kolommen zijn strings met variabele lengte. De lengte kan worden gespecificeerd als een waarde van 0 tot 255 voor MySQL 5.0.3, en 0 tot 65.535 in 5.0.3 en latere versies. De effectieve maximale lengte van een VARCHAR in MySQL 5.0.3 en later is afhankelijk van de maximale rij grootte (65,535 bytes, die wordt gedeeld door alle kolommen) en de gebruikte karakter set.
Merk echter op dat de limiet lager is als u een multi-byte karakter set gebruikt zoals utf8 of utf8mb4.
Gebruik TEXT
types om de limiet op de rijgrootte te omzeilen.
De vier TEXT types zijn TINYTEXT, TEXT, MEDIUMTEXT, en LONGTEXT. Deze komen overeen met de vier BLOB types en hebben dezelfde maximale lengtes en opslag vereisten.
Meer details over BLOB en TEXT Types
Even meer
Bekijk meer details op Data Type Storage Requirements die de opslag vereisten voor alle data types behandelt.
u kunt ook MEDIUMBLOB/LONGBLOB of MEDIUMTEXT/LONGTEXT gebruiken
Een BLOB type in MySQL kan tot 65,534 bytes opslaan, als U meer dan deze hoeveelheid data probeert op te slaan zal MySQL de data trunceren. MEDIUMBLOB kan tot 16.777.213 bytes opslaan, en LONGBLOB kan tot 4.294.967.292 bytes opslaan.