【发布时间】:2011-03-09 16:17:18
【问题描述】:
如何让 LOAD DATA INFILE 命令跳过某些字段。
假设我有下表:
CREATE TABLE stuff (
id INT UNSIGNED AUTO_INCREMENT NOT NULL,
name CHAR(64) NOT NULL,
junk CHAR(64) NOT NULL,
a ENUM('N','Y') NOT NULL DEFAULT 'N',
PRIMARY KEY (id)
);
还有我的文件:
,name1,junk1,
,name2,junk2,
,name3,junk3,Y
声明:
LOAD DATA INFILE 'myfile' INTO TABLE stuff FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
自动跳过自动增量并正确处理?它似乎可以正确处理所有事情,但这会产生以下警告:
Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 1
Warning (Code 1265): Data truncated for column 'a' at row 1
Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 2
Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 3
Warning (Code 1265): Data truncated for column 'a' at row 3
Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 4
去掉开头的逗号并不能正确输入数据。
【问题讨论】:
标签: mysql sql auto-increment load-data-infile