По подразбиране LOAD DATA използва \ като екраниращ знак. Помислете за въведеното от вас:
"abcd", "efgh\", "ijk"
Тази последователност \"
се тълкува като буквален необгръщащ цитат, а не обратна наклонена черта, последвана от цитат.
Най-добрият решението е правилно да избегнете обратните наклонени черти във вашия CSV файл, напр.:
"abcd", "efgh\\", "ijk"
Ако не можете да направите това, можете да деактивирате екранирането във вашия оператор LOAD DATA INFILE, като добавите ESCAPED BY ''
към изявлението. Това ще му попречи да разпознае \ като екраниращ знак, но имайте предвид, че ще деактивира и всички други екраниращи последователности във вашия входен файл. Това също ще импортира efgh\
, обратната наклонена черта няма да бъде игнорирана.
Ако импортирате efgh\
е неприемливо, тогава ще трябва да коригирате формата на вашия входен файл или да премахнете завършващия \ по-късно в логиката на вашето приложение или с друга SQL заявка.
Вижте Синтаксис на MySQL LOAD DATA INFILE за повече информация относно опциите за файлов формат.
Надявам се, че това помага.