0

我正在尝试使用以下方法将 csv 文件加载到表中:

LOAD DATA INFILE 'tprot.csv' INTO TABLE tprot FIELDS TERMINATED BY ',' LINES TERMINATED BY `'\n' SET id=null;`

并获得以下信息:

ERROR 1054 (42S22): Unknown column 'id' in 'field list'

这是我表中的列:

mysql> show columns from tprot;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| idindex   | int(10)     | YES  |     | NULL    |       |
| correct   | varchar(10) | YES  |     | NULL    |       |
| incorrect | varchar(10) | YES  |     | NULL    |       |
| 1a        | varchar(20) | YES  |     | NULL    |       |
| 2a        | varchar(20) | YES  |     | NULL    |       |
| 3a        | varchar(20) | YES  |     | NULL    |       |
| 4a        | varchar(20) | YES  |     | NULL    |       |
| 5a        | varchar(20) | YES  |     | NULL    |       |
| 6a        | varchar(20) | YES  |     | NULL    |       |
| 7a        | varchar(20) | YES  |     | NULL    |       |
| 8a        | varchar(20) | YES  |     | NULL    |       |
| 9a        | varchar(20) | YES  |     | NULL    |       |
| 10a       | varchar(20) | YES  |     | NULL    |       |
| 11a       | varchar(20) | YES  |     | NULL    |       |
| 12a       | varchar(20) | YES  |     | NULL    |       |
| 13a       | varchar(20) | YES  |     | NULL    |       |
| 14a       | varchar(20) | YES  |     | NULL    |       |
| 15a       | varchar(20) | YES  |     | NULL    |       |
| 16a       | varchar(20) | YES  |     | NULL    |       |
| 17a       | varchar(20) | YES  |     | NULL    |       |
| 18a       | varchar(20) | YES  |     | NULL    |       |
| 19a       | varchar(20) | YES  |     | NULL    |       |
| 20a       | varchar(20) | YES  |     | NULL    |       |
| 21a       | varchar(20) | YES  |     | NULL    |       |
| 22a       | varchar(20) | YES  |     | NULL    |       |
| 23a       | varchar(20) | YES  |     | NULL    |       |
| 24a       | varchar(20) | YES  |     | NULL    |       |
| 25a       | varchar(20) | YES  |     | NULL    |       |
| 26a       | varchar(20) | YES  |     | NULL    |       |
| 27a       | varchar(20) | YES  |     | NULL    |       |
| 28a       | varchar(20) | YES  |     | NULL    |       |
| 29a       | varchar(20) | YES  |     | NULL    |       |
| 30a       | varchar(20) | YES  |     | NULL    |       |
| 31a       | varchar(20) | YES  |     | NULL    |       |
| 32a       | varchar(20) | YES  |     | NULL    |       |
| 33a       | varchar(20) | YES  |     | NULL    |       |
| 34a       | varchar(20) | YES  |     | NULL    |       |
| 35a       | varchar(20) | YES  |     | NULL    |       |
| 36a       | varchar(20) | YES  |     | NULL    |       |
| 37a       | varchar(20) | YES  |     | NULL    |       |
| 38a       | varchar(20) | YES  |     | NULL    |       |
| 39a       | varchar(20) | YES  |     | NULL    |       |
| 40a       | varchar(20) | YES  |     | NULL    |       |
| 41a       | varchar(20) | YES  |     | NULL    |       |
| 42a       | varchar(20) | YES  |     | NULL    |       |
| 43a       | varchar(20) | YES  |     | NULL    |       |
| 44a       | varchar(20) | YES  |     | NULL    |       |
| 45a       | varchar(20) | YES  |     | NULL    |       |
| 46a       | varchar(20) | YES  |     | NULL    |       |
| 47a       | varchar(20) | YES  |     | NULL    |       |
| 48a       | varchar(20) | YES  |     | NULL    |       |
| 49a       | varchar(20) | YES  |     | NULL    |       |
| 50a       | varchar(20) | YES  |     | NULL    |       |
| 51a       | varchar(20) | YES  |     | NULL    |       |
| 52a       | varchar(20) | YES  |     | NULL    |       |
| 53a       | varchar(20) | YES  |     | NULL    |       |
| 54a       | varchar(20) | YES  |     | NULL    |       |
| 55a       | varchar(20) | YES  |     | NULL    |       |
| 56a       | varchar(20) | YES  |     | NULL    |       |
| 57a       | varchar(20) | YES  |     | NULL    |       |
| 58a       | varchar(20) | YES  |     | NULL    |       |
| 59a       | varchar(20) | YES  |     | NULL    |       |
| 60a       | varchar(20) | YES  |     | NULL    |       |
| 61a       | varchar(20) | YES  |     | NULL    |       |
| 62a       | varchar(20) | YES  |     | NULL    |       |
| 63a       | varchar(20) | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
66 rows in set (0.00 sec)

该文件的链接是:

https://docs.google.com/file/d/0B0iDswLYaZ0zSVFUTlNUV1dMQkU/edit?usp=sharing

为什么我会收到此错误消息?

4

1 回答 1

1

您告诉 SQL 将列 'id' 设置为空。您的表中没有这样的列。

试试这个。

LOAD DATA INFILE 'tprot.csv' INTO TABLE tprot FIELDS TERMINATED BY ',' LINES TERMINATED BY `'\n' SET idindex=null;`

也就是说,这可能会导致每一行的 ID 为空,而不是导入的值。

完全未经测试,但这是我的第一个假设。

编辑:

也许尝试从命令行使用 mysqlimport 。

mysqlimport --local --fields-terminated-by=\, --lines-terminated-by=\r\n tprot tprot.csv

参考:http ://www.linuxcommand.org/man_pages/mysqlimport1.html

于 2013-06-12T13:05:18.997 回答