2010-11-27 9 views
15

Estoy desarrollando un sitio web impulsado por una base de datos para una audiencia china en PHP. El contenido se almacena en la base de datos como un campo longtext.Longitud máxima para el campo de texto largo

Me preguntaba cómo puedo estar seguro de que los datos que se almacenan no se truncan?

+4

Realmente espero que la gente no entrarían 4 GB de valor de datos a través de un área de texto en un formulario HTML. – David

Respuesta

35

Depende del tamaño de los caracteres y algunas opciones de configuración.

LONGTEXT [CHARACTER SET charset_name] [Intercalar charset]

una columna de texto con una longitud máxima de 4294967295 o 4 GB (2^32 - 1) caracteres. La longitud máxima efectiva de es menor si el valor contiene caracteres de varios bytes. La longitud máxima efectiva de las columnas LONGTEXT también depende del tamaño de paquete máximo configurado en el protocolo cliente/servidor y la memoria disponible. Cada valor LONGTEXT se almacena utilizando un prefijo de longitud de cuatro bytes que indica el número de bytes en el valor.

http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html

+0

¿Podría explicar por qué también depende del tamaño máximo de paquete? – Matthias

+0

Creo que porque podría cortarse si intentas enviar algo que exceda el tamaño máximo de paquete, aunque cabría en texto largo – Gigala

Cuestiones relacionadas