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 に答える