Standardně LOAD DATA používá \ jako znak escape. Zvažte svůj vstup:
"abcd", "efgh\", "ijk"
Tato sekvence \"
se interpretuje jako doslovná neuzavřená uvozovka, nikoli zpětné lomítko následované uvozovkou.
nejlepší řešením je správně escapovat zpětná lomítka v souboru CSV, např.:
"abcd", "efgh\\", "ijk"
Pokud to nemůžete udělat, můžete zakázat escapování v příkazu LOAD DATA INFILE přidáním ESCAPED BY ''
k prohlášení. To mu zabrání v rozpoznání \ jako znaku escape, ale mějte na paměti, že to zakáže i všechny ostatní sekvence escape ve vašem vstupním souboru. Tím se také importuje efgh\
, zpětné lomítko nebude ignorováno.
Při importu efgh\
je nepřijatelné, budete muset opravit formát svého vstupního souboru nebo odstranit koncové \ později ve vaší aplikační logice nebo pomocí jiného SQL dotazu.
Viz MySQL LOAD DATA INFILE Syntaxe pro více informací o možnostech formátu souboru.
Doufám, že to pomůže.