2010-08-16 58 views
0

加载数据local infile'input.txt'替换为以'|'结尾的表t字段;似乎并没有取代以前的内容,它创造了条目的重复副本,我也试着'忽略',但即使它不工作..请告诉我我要去哪里错了..无法使用加载数据替换内容本地infile

我使用创建d表...

create table t 
(name varchar(20),empid int,age int,dob date,`order` int,price int); 

我的查询..

load data local infile 'empinput.txt' 
replace into table t fields terminated by '|' ignore 5 lines; 

load data local infile 'empinput.txt' 
ignore into table t fields terminated by '|' ignore 5 lines; 

没有按”不像是会工作.. 我input.txt的文件有..提前

gopakumar |  3 | 20 | 1990-12-03 |  1 | 24 
nitin  |  4 | 18 | 1992-07-30 |  2 | 48 
prashant |  5 | 20 | 1990-05-17 |  3 | 72 
arunakumar |  2 | 21 | 1989-12-08 |  4 | 96 
ravikiran | 10 | 26 | 1984-06-14 |  6 | 144 
abhi  | 32 | 21 | 1989-03-21 |  7 | 168 
Amruthesh |  1 | 22 | 1988-09-22 |  8 | 192 
abcd  | 56 | 21 | 1989-09-09 | NULL | 200 
abhi  | 23 | 20 | 1990-08-08 | 12 | 1060 

感谢....

回答

0

REPLACE只更新相同的主键(或唯一索引)行。例如,如果您将表移出mysql,修改并再次加载,它将更新原始行并添加新行。如果您想在可能的情况下替换行,则需要在导入的文件中使用替换行的主键值。

MysqL Load Data Infile Reference

相关问题