DBAtlas · Atlas de operações de banco de dados

1366: Incorrect string/integer value for column

MySQL

O que significa?

Um valor incompatível com o tipo ou o character set da coluna foi inserido em uma coluna. Geralmente causado por incompatibilidade de codificação de caracteres ou de tipo.

Por que acontece?

Gravação de um emoji/caractere de 4 bytes (utf8mb4) em uma coluna latin1, entrada de texto não numérico em uma coluna numérica, charset de conexão errado, ou envio de um valor de tipo diferente do esperado.

Como resolver

Para problemas de caracteres, converta a coluna/tabela para utf8mb4: ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci e defina o charset da conexão como utf8mb4. Valide os tipos na aplicação para campos numéricos. Lembre-se de que o servidor roda em SQL mode estrito (STRICT); a causa raiz é o tipo/a codificação dos dados.

Abrir no DBAtlas →

Mais entradas deste banco