Aș dori să știu care este dimensiunea maximă pentru un tip MySQL VARCHAR.
Am citit că dimensiunea maximă este limitată de dimensiunea rândului, care este de aproximativ 65k. Am încercat să setez câmpul la varchar(20000)
, dar îmi spune că este prea mare.
Aș putea să îl setez la varchar(10000)
. Care este maximul exact la care îl pot seta?
Rețineți că MySQL are o limită maximă de dimensiune a rândurilor Reprezentarea internă a unui tabel MySQL are o limită maximă de dimensiune a rândurilor de 65 535 de octeți, fără a lua în considerare tipurile BLOB și TEXT. Coloanele BLOB și TEXT contribuie doar cu 9 până la 12 octeți la limita de dimensiune a rândului, deoarece conținutul lor este stocat separat de restul rândului. Citiți mai multe despre [Limitele privind numărul de coloane și dimensiunea rândurilor din tabele] (http://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html)
Dimensiunea maximă pe care o poate ocupa o singură coloană, este diferită înainte și după MySQL 5.0.3.
Valorile din coloanele VARCHAR sunt șiruri de lungime variabilă. Lungimea poate fi specificată ca o valoare de la 0 la 255 înainte de MySQL 5.0.3 și de la 0 la 65.535 în 5.0.3 și versiunile ulterioare. Lungimea maximă efectivă a unui VARCHAR în MySQL 5.0.3 și versiunile ulterioare depinde de dimensiunea maximă a rândului (65.535 de octeți, care este împărțită între toate coloanele) și de setul de caractere utilizat.
Cu toate acestea, rețineți că limita este mai mică dacă utilizați un set de caractere cu mai mulți octeți, cum ar fi utf8 sau utf8mb4.
Utilizați tipurile TEXT
pentru a depăși limita de dimensiune a rândurilor.
Cele patru tipuri TEXT sunt TINYTEXT, TEXT, MEDIUMTEXT și LONGTEXT. Acestea corespund celor patru tipuri BLOB și au aceleași lungimi maxime și cerințe de stocare.
Mai multe detalii despre tipurile BLOB și TEXT.
Mai mult
Consultați mai multe detalii despre Data Type Storage Requirements, care se referă la cerințele de stocare pentru toate tipurile de date.
puteți folosi și MEDIUMBLOB/LONGBLOB sau MEDIUMTEXT/LONGTEXT
Un tip BLOB în MySQL poate stoca până la 65.534 de octeți; dacă încercați să stocați mai mult decât această cantitate de date, MySQL va trunchia datele. MEDIUMBLOB poate stoca până la 16.777.213 octeți, iar LONGBLOB poate stoca până la 4.294.967.292 octeți.
Puteți utiliza tipul TEXT
, care nu este limitat la 64KB.