DBAtlas · Atlas de operaciones de bases de datos

1366: Incorrect string/integer value for column (valor de cadena/entero incorrecto para la columna)

MySQL

¿Qué significa?

Se insertó en una columna un valor incompatible con su tipo o conjunto de caracteres. Suele deberse a una discrepancia de codificación de caracteres o de tipo.

¿Por qué ocurre?

Escribir un emoji/carácter de 4 bytes (utf8mb4) en una columna latin1, introducir texto no numérico en una columna numérica, un charset de conexión incorrecto o enviar un valor de un tipo distinto del esperado.

Cómo solucionarlo

Para problemas de caracteres, convierta la columna/tabla a utf8mb4: ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci y configure el charset de la conexión en utf8mb4. Valide los tipos en la aplicación para los campos numéricos. Recuerde que el servidor funciona en modo SQL estricto (STRICT); la causa raíz es el tipo/codificación de los datos.

Abrir en DBAtlas →

Más entradas de este motor