java—将txt文件的数据加载到数据库中,忽略某些数据?

2ul0zpep  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(271)

大家好,我已经知道如何将一个txt文件导入数据库,但现在我有两个txt文件,每个文件上的数据几乎相同,但第二个文件有一个额外的列,我不需要在我的db表中的列。这两个.txt文件具有以下结构:
文件1
“gtvll2r”,“wg1032”,“10321”,“wg1032x”,“0”,“band2”,“9316”,“9716”,“385”,“479”,“10321”,“79”,“1”,“279”,“0”,“chip0”,“10321”,“430”,“321”,“2”,“0”,“3”,“activated”,“false”,“-”,“”
“gtvll2r”,“wg1032”,“10322”,“wg1032y”,“0”,“band2”,“9316”,“9716”,“393”,“479”,“10322”,“79”,“1”,“279”,“0”,“chip256”,“10322”,“430”,“330”,“2”,“0”,“3”,“activated”,“false”,“-”,“”
文件2
“gtcen4r”,“208”,“wg1084”,“10841”,“wg1084x”,“0”,“band2”,“9316”,“9716”,“282”,“511”,“10841”,“111”,“1”,“311”,“0”,“chip0”,“430”,“330”,“10841”,“activated”,“false”,“-”,“”
“gtcen4r”,“208”,“wg1084”,“10842”,“wg1084y”,“0”,“band2”,“9316”,“9716”,“299”,“511”,“10842”,“111”,“1”,“311”,“0”,“chip256”,“430”,“330”,“10842”,“activated”,“false”,“-”,“”
“gtcen4r”,“208”,“wg1084”,“10843”,“wg1084z”,“0”,“band2”,“9316”,“9716”,“53”,“511”,“10843”,“111”,“1”,“311”,“0”,“chip512”,“430”,“330”,“10843”,“activated”,“false”,“-”,“”
“gtcen4r”,“208”,“wg1084”,“10844”,“wg1084u”,“0”,“频带2”,“9295”,“9695”,“282”,“511”,“10844”,“111”,“1”,“311”,“0”,“芯片0”,“430”,“330”,“10844”,“激活”,“假”,“-”,“”
具体来说,我不需要列与数字 208 关于第二个文件(我要澄清的是,这个数字并不总是相同的)。我不知道在执行查询时如何忽略该列,我使用的查询如下:

LOAD DATA LOCAL INFILE  file_path INTO TABLE table_name
"FIELDS TERMINATED BY ',' 
"ENCLOSED BY '\"' 
"LINES TERMINATED BY '\\r\\n'
"IGNORE 2 LINES"

如果你能帮助我,我将非常感激。谢谢

efzxgjgh

efzxgjgh1#

我假设您这样问是因为您希望将两个文件加载到同一个表中。没有一种方法可以使用loaddatainfle跳过该列,但是完成您尝试执行的操作是可行的。

Create table temp1 -- layout of first file

将日期填充从文件1加载到temp1

Create table temp2 - layout of second file

将数据从文件2填充到temp2

Alter table temp2 drop column 208_column

Create table combined_table like temp1

Insert into combined_table select * from temp1

Insert into combined_table select * from temp2

相关问题