sql >> Base de Datos >  >> RDS >> Mysql

barra diagonal inversa en el archivo csv

Por defecto, LOAD DATA usa \ como carácter de escape. Considere su entrada:

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

Esa secuencia \" se interpreta como una comilla literal no envolvente, no como una barra invertida seguida de una comilla.

Los mejores la solución es escapar adecuadamente de las barras invertidas en su archivo CSV, por ejemplo:

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

Si no puede hacer eso, puede deshabilitar el escape en su instrucción LOAD DATA INFILE agregando ESCAPED BY '' a la declaración. Eso evitará que reconozca \ como un carácter de escape, pero tenga en cuenta que también deshabilitará todas las demás secuencias de escape en su archivo de entrada. Eso también importará efgh\ , la barra invertida no se ignorará.

Si importa efgh\ es inaceptable, entonces tendrá que corregir el formato de su archivo de entrada, o eliminar el final \ más tarde en la lógica de su aplicación o con otra consulta SQL.

Ver Sintaxis de MySQL LOAD DATA INFILE para obtener más información sobre las opciones de formato de archivo.

Espero que ayude.