我试图将SQL选择保存到CSV文件中,而不是我以后在Excel
中将错误:
ERROR 1083 (42000) at line 1: Field separator argument is not what is expected; check the manual
查询是:
SELECT 'Description'
union
SELECT coalesce(replace(d.description,'rn','n'),'')
INTO OUTFILE "$FILE_PATH$FILE_NAME"
FIELDS ESCAPED BY '""' TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn'
FROM data d
问题在于"逃脱"应该逃脱描述字段中数据库中保存的新系列字符。(我不希望文件中的新字符在打开CSV时在Excel中创建多个行)。
MySQL Server是5.5版。5.0的工作正常,但是由于MySQL教程中使用了"逃脱",所以我不明白为什么我在这里遇到问题。
用于将新线保持在字段中的来源:http://dev.mysql.com/doc/refman/5.5/en/select.html
谢谢。
问题是,子句的逃脱期望是一个字符。根据MySQL手册,语法如下:
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
改变'"''to'''''''应该解决问题。