Как получить команду 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
удаление запятой в начале не приводит к правильному вводу данных.