Mysql
 sql >> Database >  >> RDS >> Mysql

Ottenere l'errore 1366 Valore intero errato:'1' durante l'importazione del file

Anche io ho riscontrato questo errore. La cosa da notare è che

  • l'errore è apparentemente assurdo (sembra dire che "1", che è un intero, è un valore intero errato), e
  • succede sulla prima colonna della prima riga e solo lì .

Se queste due condizioni sono valide, allora con tutta probabilità il colpevole è una sequenza nascosta di tre byte che si trova proprio all'inizio del file SQL che stai cercando di caricare (si chiama UTF8 Byte-Order Mark ).

In alcuni casi la sequenza viene esclusa nel messaggio di errore e viene mostrata in modo riconoscibile, ad esempio in questa segnalazione di bug . Negli altri casi viene inviato all'utente come parte di un valore:

Incorrect integer value: '###1'  ...

ma il terminale "mangia" la distinta base e quello che vedi è l'errore (ormai assurdo)

Incorrect integer value: '1' ...

Per risolvere il problema, è necessario aprire il file da importare in qualche editor in grado di rimuovere il segno dell'ordine dei byte (es. Notepad++).