更正查询的“行终止于”

Ctr*_*dlt 2 mysql mysql-workbench excel csv

我正在尝试查询两个数据表并将它们发送到一个 csv 文件以上传到网站。但是我在格式化打球时遇到了麻烦。我希望将标题分成几列,然后将相关数据与数据正文中的列对齐。

我目前最接近实现我的目标 -

FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY ''
Run Code Online (Sandbox Code Playgroud)

哪个返回 -

从 mysql 工作台中的查询返回的数据

但是你可以看到我的问题。任何带有 '\' 的部件号都会渲染到错误的列中,并且数据与标题不对齐。

现在请记住,表格总是每秒更新一次,我无法控制数据的上传方式。我无法从 part# 中删除 '\'。
我需要一种忽略“\”的解决方法。

这很难解释,所以......

TLDR:- 我需要数据像图片中的大多数行一样排列,“字段/行终止于”参数是什么?

Vér*_*ace 5

请参阅答案底部的 mydata.csv 文件。

我创建了一个表 xy

CREATE TABLE `xy` 
(
  `fred` int(11) DEFAULT NULL,
  `mary` int(11) DEFAULT NULL,
  `billy` varchar(50) DEFAULT NULL
);
Run Code Online (Sandbox Code Playgroud)

这里的文档,我试过这个

LOAD DATA INFILE 'mydata.txt' INTO TABLE tbl_name
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
Run Code Online (Sandbox Code Playgroud)

但这失败了(只导入了一行)。我将 \r\n 更改为 \n (Unix),这样更好(导入了所有行,但在 VARCHAR 字段中没有 \ - 它们只是被删除了)。

进一步的谷歌搜索把我带到了这里

所以我尝试了这个(来自答案)

LOAD DATA INFILE 'mydata.csv' INTO TABLE xy
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ''
LINES TERMINATED BY '\n';
Run Code Online (Sandbox Code Playgroud)

(注意 ESCAPED BY '' - 即什么都没有 - \ 是默认的转义字符)。

这有效(下表xy中的四行样本)

|    2 |    3 | asf\dsadfs |
|    2 |    3 | asfdsadfs  |
|    2 |    3 | asfdsadfs  |
|    2 |    3 | asf\dsadfs |
Run Code Online (Sandbox Code Playgroud)

我的示例 mydata.csv 文件

2,3,asfdsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,asf\dsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,asf\dsadfs
2,3,asfdsadfs
2,3,asfdsadfs
2,3,a\sfdsadfs
2,3,asfdsadfs
2,3,asfdsadfs
Run Code Online (Sandbox Code Playgroud)