我想使用 MYSQL 的 LOAD DATA INFILE 命令将大约900,000行插入到我的名为 INFO 的数据库的表中叫做。 INFO表的定义如下:
create table INFO (id varchar(10) PRIMARY KEY, receive_time datetime,
check_time datetime, ver varchar(10) NOT NULL)
在插入此表之前,仅用于测试,我创建另一个数据库B,并创建一个具有相同INFO定义的表,称为TMP_INFO。我在临时数据库B和表TMP_INFO上运行此查询,它可以工作:
LOAD DATA INFILE '/home/develop/list.txt' IGNORE INTO TABLE TMP_INFO
LINES TERMINATED BY '\n' IGNORE 1 LINES (id, @receive_time, @check_time, @ver)
set receive_time=NOW(), check_time=NOW(), ver='8754';
list.txt文件类似于:
8754
0087653565
0000986759
0000654327
0000453219
但问题是当我在数据库A 和 INFO表上运行相同查询时,使用相同的list.txt文件,不起作用。我得到没有错误,但 N次警告(N = line.txt中的行数 - 1)!!!以下所有警告都是相同的:
warning code 1265:Data truncated for column 'id' at row ...
我将在C程序中使用此查询。
我很困惑,也没有任何想法,请问任何想法?