Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obtendo o erro 1366 Valor inteiro incorreto:'1' ao importar o arquivo


Eu também encontrei esse erro. A coisa a notar é que
  • o erro é aparentemente absurdo (parece dizer que "1", que é um inteiro, é um valor inteiro incorreto) e
  • isso acontece na primeira coluna da primeira linha e apenas lá .

Se estas duas condições se mantiverem, então provavelmente o culpado é uma sequência oculta de três bytes que está bem no início do arquivo SQL que você está tentando carregar (é chamado de Marca de Ordem de Byte UTF8 ).

Em alguns casos, a sequência escapa na mensagem de erro e é mostrada de forma reconhecível, por exemplo in este relatório de bug . Em outros casos, é enviado ao usuário como parte de um valor:
Incorrect integer value: '###1'  ...

mas o terminal "come" a BOM e o que você vê é o erro (agora absurdo)
Incorrect integer value: '1' ...

Para resolver o problema, você precisa abrir o arquivo a ser importado em algum editor capaz de remover a marca de ordem de byte (por exemplo, Notepad++).