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;;;;;;
答案 0 :(得分:2)
您必须指定除id列以外的所有列名称:
LOAD DATA INFILE 'thefile.csv'
INTO TABLE word
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
(col1,col2,col3);
我假设你的表有(id,col1,col2,col3)列。
答案 1 :(得分:1)
您可以使用两步加载:
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加载