2017-02-13 55 views
0

我试图参考文档https://dev.mysql.com/doc/refman/5.6/en/load-data.htmlMYSQL INFILE CONCAT

ID1, ID2, ID3, Date, Time, plateNumber, ID4, Status 
1 7 1 2017-08-15 11:18:00 SGA7387T 97871 1 

这是我的文本文件

我的数据库。

ID1, DateTime, ID2, ID3, PlateNumber, ID4, Status. 

我的SQL语句

LOAD DATA INFILE 'C:/table/text/trip.txt' 
into table trip FIELDS terminated by '\t' 
lines terminated by '\r\n' 
ignore 1 lines 
(ID1, ID2, ID3, @DATE, @TIME,plateNumber, ID4,Status) 
SET DateTime = CONCAT(@TripDate,@tripTime); 

没有错误,但0 INSERT ...

回答

0

首先,你要编辑的txt文件。数据中必须有相同的字段分隔符 - 标题中。例如 '' -

ID1,ID2,ID3,Date,Time,plateNumber,ID4,Status 
1,7,1,2017-08-15,11:18:00,SGA7387T,97871,1 

然后,有不同的变量名,@DATE与@TripDate和@TIME与@tripTime问题。

最后,如果DateTime是DATETIME类型,那么您应该将字符串转换为此类型。

所以,在这里它是一个结果查询 -

LOAD DATA INFILE 'C:/table/text/trip.txt' 
into table trip FIELDS terminated by ',' 
lines terminated by '\r\n' 
ignore 1 lines 
(ID1, ID2, ID3, @DATE, @TIME, plateNumber, ID4, Status) 
SET DateTime = STR_TO_DATE(CONCAT(@DATE, ' ', @TIME), '%Y-%m-%d %h:%i:%s'); 

不要忘了LOCAL关键字,如果文件位于客户端主机上。