Per impostazione predefinita LOAD DATA usa \ come carattere di escape. Considera il tuo contributo:
"abcd", "efgh\", "ijk"
Quella sequenza \"
viene interpretato come una virgoletta letterale non di chiusura, non una barra rovesciata seguita da una virgoletta.
Il migliore la soluzione è sfuggire correttamente alle barre rovesciate nel file CSV, ad esempio:
"abcd", "efgh\\", "ijk"
Se non puoi farlo, puoi disabilitare l'escape nell'istruzione LOAD DATA INFILE aggiungendo ESCAPED BY ''
alla dichiarazione. Ciò impedirà di riconoscere \ come carattere di escape, ma tieni presente che disabiliterà anche tutte le altre sequenze di escape nel file di input. Ciò importerà anche efgh\
, la barra rovesciata non verrà ignorata.
Se importi efgh\
è inaccettabile, dovrai correggere il formato del tuo file di input o rimuovere il finale \ in un secondo momento nella logica dell'applicazione o con un'altra query SQL.
Vedere Sintassi MySQL LOAD DATA INFILE per ulteriori informazioni sulle opzioni di formato file.
Spero di esserti stato d'aiuto.