0

我正在努力将文本文件中的数据添加到 mysql 数据库中。在我的文本文件中,我有几十行我想从中提取特定的行(这些行与表结构具有相似的结构)。

表结构:

Name
Surname
Email
City
ZIP

文本文件:

_field1 >>> blah 
otherfield >>> blah
Name >>> John
anotherfield >>> blah
Email >>> john@doe.com
City >>> Portland
ZIP >>> 90210
yetanotherfield >>> foo
4

1 回答 1

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);
于 2012-10-14T13:47:40.867 回答