SQL批量插入CSV语法错误?
我正在尝试使用this tutorial加载一个简单的CSV文件。我的CSV包括国籍的名单,这里是一个示例:SQL批量插入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语法错误是指使用保留字的,但我不知道它是在这种情况下,哪一个。
你能帮我弄清楚我的方式吗?谢谢。
既然你使用MySQL,你需要使用不同的语法。你应该知道你正在关注的教程是针对MSSQL的。
LOAD DATA INFILE "/home/benjamin/Downloads/Nationalities.csv"
INTO TABLE meta_nationality
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\n'
糟糕。还有一个教训。谢谢。 – Benjamin
请参阅MySQL教程而不是SQL服务器。 LOAD DATA INFILE 命令将帮助您
您所遵循的教程是针对SQL Server而不是MySQL。这两者之间的语法差别很大。 – Sculper