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。所以...如果你能帮忙我会非常感激
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;;;;;;
3条答案
按热度按时间z31licg01#
必须指定除id列以外的所有列名:
我假设你的表有(id,col1,col2,col3)列。
yhived7q2#
可以使用两步加载:
1)将数据加载到表中;
2)使用
INSERT INTO ... SELECT ... FROM
获取表中的数据示例:
备选方案:
以id作为最后一列创建表,然后使用LOAD DATA INFILE进行加载
xytpbqjk3#
在我的例子中,这个错误发生在其他列中,而不是主键。
解决方案是将任何空值替换为\N,而不是将它们保留为,,。
可以使用sed将空值替换为\N个null值。
注意:使用\N而不是\n。