我正在努力将文本文件中的数据添加到mysql数据库中。在我的文本文件中,我有几十行,我想从中提取特定的一行(与表结构具有相似结构的那些)。
表格结构:
Name
Surname
Email
City
ZIP
文字档案:
_field1 >>> blah
otherfield >>> blah
Name >>> John
anotherfield >>> blah
Email >>> john@doe.com
City >>> Portland
ZIP >>> 90210
yetanotherfield >>> foo
答案 0 :(得分:0)
最好用其他语言解析文件,然后从那里调用INSERT
,但由于文件中字段的顺序是可预测的,因此可以通过用户变量有类似的东西:
LOAD DATA INFILE '/path/to/file.txt' INTO TABLE my_table
FIELDS TERMINATED BY '\n' LINES TERMINATED BY 0x1e
(@dummy, @dummy, @name, @dummy, @email, @city, @zip, @dummy)
SET Name = SUBSTRING(@name, LOCATE(' >>> ', @name ) + 5),
Email = SUBSTRING(@email, LOCATE(' >>> ', @email) + 5),
City = SUBSTRING(@city, LOCATE(' >>> ', @city ) + 5),
ZIP = SUBSTRING(@zip, LOCATE(' >>> ', @zip ) + 5);