DBAtlas · Atlas de operaciones de bases de datos

1406: Data too long for column (datos demasiado largos para la columna)

MySQL

¿Qué significa?

Se escribió un valor más largo que la longitud máxima definida de la columna. Por ejemplo, una cadena de 20 caracteres no cabe en una columna VARCHAR(10).

¿Por qué ocurre?

Ancho de columna demasiado pequeño para los datos; caracteres de un conjunto multibyte (utf8mb4) que ocupan más espacio del esperado; el resultado de una concatenación que crece en longitud; modo SQL estricto activo (de lo contrario el valor se trunca silenciosamente).

Cómo solucionarlo

Amplíe la columna: ALTER TABLE my_table MODIFY my_column VARCHAR(255); Para contenido muy largo, considere el tipo TEXT. Si hay que acortar el valor, recórtelo en la aplicación o con SUBSTRING. Encuentre la fila que desborda: SELECT * FROM my_table WHERE CHAR_LENGTH(my_column) > 10; Añada validación de entrada.

Abrir en DBAtlas →

Más entradas de este motor