与MySQL加载数据infile我得到“不正确的整数值”
问题描述:
LOAD DATA INFILE 'thefile.csv'
INTO TABLE word
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
SET id = NULL;
我有点失去了什么在这里做,我认为这个查询会工作,但它不。我得到关于id的错误,这就是为什么我认为set id = NULL会使它很好但不是。我的id行(这是AUTO_INCREMENT)的一点是我不需要指定ID。所以......呃。任何帮助将不胜感激与MySQL加载数据infile我得到“不正确的整数值”
Incorrect integer value: '' for column 'id' at row 1
我的CSV文件内容:
id;meaning;japanese;kanji;kana;romaji;visible;featured;image;image_author;imgauthor_link;extra
;pants;パンツ;;パンツ;pantsu;;;;;;
答
您必须指定除id列以外的所有列名称:
LOAD DATA INFILE 'thefile.csv'
INTO TABLE word
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
(col1,col2,col3);
我假定您的表具有(id,col1,col2,col3)列。
答
可以使用两个步骤的负荷:
1)将数据加载到表;
2)使用INSERT INTO ... SELECT ... FROM
让您的表
比如你的数据:
CREATE TABLE baseData (
All your column definitions, but not your id column
);
INSERT INTO (all your columns except the id column) SELECT * FROM baseData;
替代选项:
id为创建表的最后一栏,然后加载用LOAD DATA INFILE工作
你的问题看起来很像这个。 http://stackoverflow.com/questions/6017032/how-to-load-data-infile-in-mysql-with-first-col-being-auto-increment –
谢谢,这似乎很有帮助! – mpj