sql >> Database teknologi >  >> RDS >> Mysql

Tilbage skråstreg i csv-filen

Som standard bruger LOAD DATA \ som escape-tegnet. Overvej dit input:

"abcd", "efgh\", "ijk"

Den sekvens \" tolkes som et bogstaveligt ikke-omsluttende citat, ikke et skråstreg efterfulgt af et citat.

Det bedste løsningen er at undslippe omvendt skråstreg i din CSV-fil, f.eks.:

"abcd", "efgh\\", "ijk"

Hvis du ikke kan gøre det, kan du deaktivere escape i din LOAD DATA INFILE-sætning ved at tilføje ESCAPED BY '' til redegørelsen. Det vil forhindre det i at genkende \ som et escape-tegn, men husk at det også vil deaktivere alle andre escape-sekvenser i din inputfil. Det vil også importere efgh\ , vil omvendt skråstreg ikke blive ignoreret.

Hvis du importerer efgh\ er uacceptabelt, så bliver du nødt til at rette formatet på din inputfil eller fjerne den efterfølgende \ senere i din applikationslogik eller med en anden SQL-forespørgsel.

Se MySQL LOAD DATA INFILE-syntaks for mere information om filformatindstillinger.

Håber det hjælper.




  1. Fordele og ulemper ved at bruge lagrede procedurer

  2. Hvad betyder dobbeltstænger (||) i SQL?

  3. Sådan konfigureres Hangfire med Mysql-lagring

  4. mysql count total fra et felt med kommaseparerede værdier