SQL批量插入CSV语法错误?

时间:2015-10-15 15:40:30

标签: mysql csv

我正在尝试使用this tutorial加载一个简单的CSV文件。我的CSV包含国籍列表,其中包含以下示例:

1,Afghan,2015-10-14 17:56:39

同时,我的表定义是:

+-------------+--------------+------+-----+-------------------+-----------------------------+
| Field       | Type         | Null | Key | Default           | Extra                       |
+-------------+--------------+------+-----+-------------------+-----------------------------+
| ID          | int(11)      | NO   | PRI | NULL              | auto_increment              |
| Nationality | varchar(255) | NO   | UNI | NULL              |                             |
| Time        | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+--------------+------+-----+-------------------+-----------------------------+

我正在运行以下命令:

BULK INSERT meta_nationality FROM '/home/benjamin/Downloads/Nationalities.csv' WITH (fieldterminator = ',', rowterminator ='\n');

这似乎是正确的,但是我收到一条指向语法问题的错误消息:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bulk insert...

According to the documentation语法错误是指使用保留字,但在这种情况下我不知道它是哪一个。

你能帮我解决这个问题吗?感谢。

3 个答案:

答案 0 :(得分:1)

由于您使用的是MySQL,因此您需要使用不同的语法。您应该知道您所关注的教程是针对MSSQL的。

LOAD DATA INFILE "/home/benjamin/Downloads/Nationalities.csv"
INTO TABLE meta_nationality
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\n'

答案 1 :(得分:0)

BULK INSERT不是命令。

您可能正在寻找LOAD DATA INFILE _____ INTO TABLE _____

答案 2 :(得分:0)

请参考MySQL教程而不是SQL服务器。     加载数据信息 命令会帮助你