2012-09-24 50 views
0

如何使用LOAD DATA INFILE语法和Number Of行将插入到表中?
我用这个查询:MySQL - LOAD DATA INFILE与文件行号

LOAD DATA INFILE 'D:/home/TAM/input/Upload/DOC20120919000000.csv' INTO TABLE tb_t_doc_d 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES (rrn_no, new_color_cd, new_main_dealer_cd, new_zone_cd, new_branch_cd, new_destination_cd, @var) 
SET process_id = '1209219999999999', transaction_id = 'DC201209219999', reference = 
trim(TRAILING '\r' FROM @var), created_dt = sysdate(), created_by = "DIDIT", updated_dt = 
sysdate(), updated_by = "DIDIT", file_line_no = ???? ; 

我应该怎么填写上file_line_no = ????

回答

1

这应有助于:

set @row = 0; 
LOAD DATA INFILE 'D:/home/TAM/input/Upload/DOC20120919000000.csv' INTO TABLE tb_t_doc_d 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES (rrn_no, new_color_cd, new_main_dealer_cd, new_zone_cd, new_branch_cd,  new_destination_cd, @var) 
SET process_id = '1209219999999999', transaction_id = 'DC201209219999', reference = 
trim(TRAILING '\r' FROM @var), created_dt = sysdate(), created_by = "DIDIT", updated_dt = 
sysdate(), updated_by = "DIDIT", file_line_no = @row:[email protected]+1;