2010-08-16 74 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