Standardmäßig verwendet LOAD DATA \ als Fluchtzeichen. Betrachten Sie Ihre Eingabe:
"abcd", "efgh\", "ijk"
Diese Sequenz \"
wird als wörtliches, nicht einschließendes Anführungszeichen interpretiert, nicht als umgekehrter Schrägstrich gefolgt von einem Anführungszeichen.
Das Beste Die Lösung besteht darin, Backslashes in Ihrer CSV-Datei richtig zu maskieren, z. B.:
"abcd", "efgh\\", "ijk"
Wenn dies nicht möglich ist, können Sie das Escaping in Ihrer LOAD DATA INFILE-Anweisung deaktivieren, indem Sie ESCAPED BY ''
hinzufügen zur Aussage. Dadurch wird verhindert, dass es \ als Escape-Zeichen erkennt, aber denken Sie daran, dass es auch alle anderen Escape-Sequenzen in Ihrer Eingabedatei deaktiviert. Dadurch wird auch efgh\
importiert , der Backslash wird nicht ignoriert.
Beim Importieren von efgh\
nicht akzeptabel ist, müssen Sie das Format Ihrer Eingabedatei korrigieren oder das nachgestellte \ später in Ihrer Anwendungslogik oder mit einer anderen SQL-Abfrage entfernen.
Siehe MySQL LOAD DATA INFILE-Syntax für weitere Informationen zu Dateiformatoptionen.
Hoffe das hilft.