Jos*_*ree 8 mysql indexing auto-increment load-data-infile
我想在我的表中插入一个ID列,并从文本文件中获取该表的数据.例如,我的文本文件是这样的:
12 1212 4989 121
121 23 123 110
789 99 234 544
...
Run Code Online (Sandbox Code Playgroud)
它有大约20M行.我想将此数据插入表中,并为其包含一个自动递增的ID值列.我将使用"加载数据infile",但我想创建我的表,如下所示:
id a b c d
--- --- --- --- ---
1 12 1212 4989 121
2 121 23 123 110
3 789 99 234 544
...
Run Code Online (Sandbox Code Playgroud)
如何使用mysql(workbench)创建这种表
Jos*_*ree 18
首先,创建具有列ID的表具有自动增量属性:
CREATE TABLE mytable (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
a INT NULL,
b INT NULL,
c INT NULL,
d INT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)
那么你应该通过给出列名来将数据加载到带有加载数据infile的表中:
LOAD DATA LOCAL INFILE 'C:/DATA/mydata.txt'
INTO TABLE test.mytable
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
(a, b, c, d) SET ID = NULL;
Run Code Online (Sandbox Code Playgroud)
请参阅:如何在mysql中加载数据INFILE,第一个col是Auto Increment?
这可以为你做..
load data local infile 'data.csv' into table tbl fields terminated by ','
enclosed by '"'
fields terminated by '\t'
lines terminated by '\n'
(a,b,c,d)
Run Code Online (Sandbox Code Playgroud)
有关更多参考,请参阅此链接