Me gustaría saber cuál es el tamaño máximo de un tipo VARCHAR de MySQL.
He leído que el tamaño máximo está limitado por el tamaño de la fila que es alrededor de 65k. He intentado establecer el campo a varchar(20000)
pero dice que eso es demasiado grande.
Podría ponerlo en varchar(10000)
. ¿Cuál es el máximo exacto que puedo establecer?
Tenga en cuenta que MySQL tiene un límite de tamaño máximo de filas La representación interna de una tabla MySQL tiene un límite de tamaño máximo de fila de 65.535 bytes, sin contar los tipos BLOB y TEXT. Las columnas BLOB y TEXT sólo aportan de 9 a 12 bytes al límite de tamaño de la fila porque su contenido se almacena por separado del resto de la fila. Más información sobre [Límites del número de columnas de la tabla y del tamaño de las filas] (http://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html)
El tamaño máximo que puede ocupar una sola columna, es diferente antes y después de MySQL 5.0.3 Los valores en las columnas VARCHAR son cadenas de longitud variable. La longitud puede ser especificada como un valor de 0 a 255 antes de MySQL 5.0.3, y de 0 a 65,535 en 5.0.3 y versiones posteriores. La longitud máxima efectiva de un VARCHAR en MySQL 5.0.3 y posteriores está sujeta al tamaño máximo de la fila (65.535 bytes, que se comparte entre todas las columnas) y al conjunto de caracteres utilizado.
Sin embargo, tenga en cuenta que el límite es menor si utiliza un conjunto de caracteres multibyte como utf8 o utf8mb4.
**Utilice los tipos TEXT
para superar el límite de tamaño de las filas.
Los cuatro tipos de TEXTO son TINYTEXT, TEXT, MEDIUMTEXT y LONGTEXT. Se corresponden con los cuatro tipos de BLOB y tienen las mismas longitudes máximas y requisitos de almacenamiento.
**Más detalles sobre los tipos BLOB y TEXTO
Aún más
Consulte más detalles en Requisitos de almacenamiento de tipos de datos que trata de los requisitos de almacenamiento para todos los tipos de datos.
también puede utilizar MEDIUMBLOB/LONGBLOB o MEDIUMTEXT/LONGTEXT
Un tipo BLOB en MySQL puede almacenar hasta 65.534 bytes, si intenta almacenar más de esta cantidad de datos MySQL truncará los datos. MEDIUMBLOB puede almacenar hasta 16.777.213 bytes, y LONGBLOB puede almacenar hasta 4.294.967.292 bytes.