mysql - 导出数据转义换行不起作用

标签 mysql csv escaping export

我需要将数据从 mysql 表导出到 csv 文件。特别是两个领域给我带来了麻烦。它们的数据类型是 varchar 和 TEXT。

这些列中的数据包含各种粗俗的字符,尤其是换行符 (\n) 和制表符 (\t)。我需要将这些导出到 .csv 文件中以进行迁移。

不幸的是,我无法用“”将字段括起来,因为目标数据库不支持该格式。

所以,我的查询如下所示:

SELECT `varchar_col`,`text_col` FROM `db`.`tbl`   INTO OUTFILE '/path/to/my/file.csv' FIELDS TERMINATED BY '\t' ESCAPED BY "\\" LINES TERMINATED BY '\n';

当我查看我的输出文件(使用 gedit 和 nano)时,我只看到文件中的每个新行或制表符前面都有一个反斜杠(参见下面的示例)。我想要一个新行或制表符来读取文字字符 '\n' 或 '\t' 而不是实际的新行和制表符。

新行的问题示例-

字段值:

value one
value two

导出到 .csv 给我:

value one\
value two\

代替:

value 1\nvalue 2

谁能告诉我我做错了什么?

谢谢

最佳答案

我不太确定。但这是你想要的吗? (输出文字字符 '\n' 或 '\t' 而不是实际的新行和制表符。)

SELECT * FROM block INTO OUTFILE '/var/tmp/d.csv' FIELDS TERMINATED BY '\\t' ESCAPED BY "\\" LINES TERMINATED BY '\\n';

关于mysql - 导出数据转义换行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381125/

相关文章:

JavaScript/CoffeeScript 返回 "[object Object]"而不是正确的值

php - 在表单上添加另一个项目/行,插入数据库

pandas - 将 netCDF 数据导入 pandas DataFrame

elasticsearch - 术语过滤器的 Elasticsearch 连字符问题

python - 正则表达式 : how to match a string containing "\n" (newline)?

php - <option> 标签中有多个值?

mysql - 如何在 mysql View 中设置列的排序规则?

java - 如何使用 DOM 正确解析我的 csv 文件?

c++ - 将 CSV 中的二维数组读入 Map c++

formatting - 引用 YAML(对于 Travis CI)