字段真实转义字段包含\ n和\“时,LOAD DATA INFILE

时间:2013-04-03 11:16:39

标签: mysql libreoffice into-outfile

短信表的模式是 - 短信( id ,mobileNumber,text)

其中text的类型为 text

其中一行有文字 -

Foo bar\nLorem ipsum dolor sit amet.\n\nconsectetur adipisicing elit, said:\n\n\" sed do eiusmod tempor incididunt ut labore et dolore magna aliqua don\'t \"

当我运行此查询时 -

select 'SMS ID', 'Mobile Number', 'SMS Text' 
union 
select id, ifnull(mobileNumber, 'Not Available'), text 
from sms
into outfile '/tmp/SMSUsage.csv' 
fields terminated by ',' enclosed by '"' 
lines terminated by '\n';

并在Libreoffice中打开CSV文件,我在多个单元格中看到文字,如 -

Foo bar\\\\nLorem ipsum dolor sit amet.\\\\n\\\\nconsectetur adipisicing elit, said:\n\n\

在一列中然后将上面句子后面的每个单词放入一个单独的列中。

另外为什么在'\ n'之前加了三个'\'?如何在单个单元格中获取文本?

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT 'SMS ID', 'Mobile Number', 'SMS Text' 
UNION 
    SELECT id, IFNULL(mobileNumber, 'Not Available'), text 
    FROM sms
INTO OUTFILE '/tmp/SMSUsage.csv' 
FIELDS TERMINTATED by ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"' 
LINES TERMINATED BY '\n';