【发布时间】:2017-03-04 09:08:05
【问题描述】:
在 Mac OSX 上使用 MySQL 并使用 MySQL Workbench 执行 SQL,这里是 csv 文件的 SQL 查询和内容,我想输入带引号的字符串,例如我想输入f"o"o,我尝试使用@ 987654324@,但似乎不起作用,有什么想法如何为 csv 文件中的列导入引号?
SQL 查询,
LOAD DATA LOCAL INFILE '/Users/foo/Downloads/import.csv'
INTO TABLE tasks
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
表架构,
create database exercise;
CREATE TABLE IF NOT EXISTS tasks (
task_id INT(11) NOT NULL AUTO_INCREMENT,
subject VARCHAR(45) DEFAULT NULL,
start_date DATE DEFAULT NULL,
end_date DATE DEFAULT NULL,
description VARCHAR(200) DEFAULT NULL,
PRIMARY KEY (task_id)
CSV 文件内容,
1,"hello/world",,,"f\"o\"o"
2,"hello/world",,,"g\"o\"o"
3,"hello/world",,,"z\"o\"o"
导入后的内容,
SELECT * FROM exercise.tasks;
编辑 1,
尝试使用双引号对引号进行编码,尝试了这种方式,导入后仍然和我发布的屏幕快照一样。
1,"hello/world",,,"f""o""o"
2,"hello/world",,,"g""o""o"
3,"hello/world",,,"z""o""o"
编辑2,试过了,还是不行,(导入后是foo而不是foo)
1,"hello/world",,,f'o'o
2,"hello/world",,,g'o'o
3,"hello/world",,,z'o'o
编辑3,试过了,还是不行,(导入后是foo而不是foo)
1,"hello/world",,,"f''o''o"
2,"hello/world",,,"g'o''o"
3,"hello/world",,,"z''o''o"
编辑 4,我看到了警告,
LOAD DATA LOCAL INFILE '/Users/foo/Downloads/import.csv' INTO TABLE tasks FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' 3 row(s) affected, 6 warning(s): 1265 Data truncated for column 'start_date' at row 1 1265 Data truncated for column 'end_date' at row 1 1265 Data truncated for column 'start_date' at row 2 1265 Data truncated for column 'end_date' at row 2 1265 Data truncated for column 'start_date' at row 3 1265 Data truncated for column 'end_date' at row 3 Records: 3 Deleted: 0 Skipped: 0 Warnings: 6
问候, 林
【问题讨论】:
标签: mysql sql csv mysql-workbench