0

我需要将文本文件 tabDelimited/csv 作为表直接加载到 mysql 中。我正在关注页面(https://dev.mysql.com/doc/refman/5.5/en/loading-tables.html)做同样的事情。

测试文件.txt

field1,field2
"abc",1
"def",2
"ghi",3

但是,我不断收到以下消息:

mysql> LOAD DATA INFILE 'testfile.txt' INTO TABLE myTable IGNORE 1 LINES;
ERROR 1146 (42S02): Table 'test.myTable' doesn't exist

我看到只有在创建表后才能使用“加载”。所以这个错误是预期的。我有多个文件,我需要避免一一创建表。有没有其他方法可以做到这一点。

4

2 回答 2

1

您需要先创建表,然后再将数据插入其中。

如果您有多个文件,请创建一次表,然后使用多个LOAD DATA INFILE调用附加数据。

MySQL 无法从 CSV 文件自动确定数据的模式。创建表对于建立列和任何索引或键的数据类型至关重要。

于 2012-11-01T17:15:53.420 回答
1

听起来您还没有创建表。

只是一个示例,您可以根据自己的需要进行调整。如果不存在则创建表 (field1 VARCHAR(3), field2 INTEGER);

有关创建表的完整文档:http: //dev.mysql.com/doc/refman/5.1/en/create-table.html

于 2012-11-01T17:16:33.550 回答