Det är en fråga om flyktsekvenser och det finns flera sätt att göra det på. Jag valde att bara sätta det första enkla citattecken inbäddat innanför de yttre dubbla citattecken nära slutet av den första vägen (med 3 bitar i concat
).
Och enstaka citattecken som det andra sättet (med 2 bitar i concat
):
SET @filename = 'C:/icl/myfile.CSV';
-- C:/icl/myfile.CSV
SET @str = CONCAT('LOAD DATA INFILE ',@filename);
-- LOAD DATA INFILE C:/icl/myfile.CSV
-- First way is below (with the result being the line after it if you ignore the `-- ` at the beginning):
SET @str = CONCAT(@str," INTO TABLE icl_process_data.filecontent LINES TERMINATED BY '","\\n'");
-- LOAD DATA INFILE C:/icl/myfile.CSV INTO TABLE icl_process_data.filecontent LINES TERMINATED BY '\n'
-- Second way is below (with the result being the line after it if you ignore the `-- ` at the beginning):
SET @str = CONCAT('LOAD DATA INFILE ',@filename);
SET @str = CONCAT(@str,' INTO TABLE icl_process_data.filecontent LINES TERMINATED BY \'\\n\'');
-- LOAD DATA INFILE C:/icl/myfile.CSV INTO TABLE icl_process_data.filecontent LINES TERMINATED BY '\n'
Från mysql-manualsidan på String Literals :