Som standard använder LOAD DATA \ som escape-tecken. Tänk på din input:
"abcd", "efgh\", "ijk"
Den sekvensen \"
tolkas som ett ordagrant icke-omslutande citat, inte ett snedstreck följt av ett citat.
Det bästa lösningen är att på rätt sätt undvika bakåtstreck i din CSV-fil, t.ex.:
"abcd", "efgh\\", "ijk"
Om du inte kan göra det kan du inaktivera escape i din LOAD DATA INFILE-sats genom att lägga till ESCAPED BY ''
till uttalandet. Det kommer att förhindra att den känner igen \ som ett escape-tecken, men kom ihåg att det kommer att inaktivera alla andra escape-sekvenser i din indatafil. Det kommer också att importera efgh\
, kommer snedstrecket inte att ignoreras.
Om du importerar efgh\
är oacceptabelt måste du fixa formatet på din indatafil, eller ta bort den avslutande \ senare i din applikationslogik eller med en annan SQL-fråga.
Se MySQL LOAD DATA INFILE Syntax för mer information om filformatsalternativ.
Hoppas det hjälper.