0

パイプ区切りのテキスト ファイルでデータの新しいコピーを時々取得します。テーブルを更新するか、既存のコピーを新しく生成されたコピー (output.txt) に置き換える必要があります。

どんなアイデアでも大歓迎です。ありがとうございました..

TRUNCATE Table elements;

LOAD DATA INFILE '/data/out.txt' IGNORE INTO TABLE elements FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' (ID, Title, date, time);
4

1 に答える 1

1

あなたの質問に答えるには、より多くの情報が必要であることに同意します。私が理解しているように、データベース テーブルを空にして、受け取ったテキスト ファイルの情報をリロードする必要があります。これは、カンマの代わりにパイプを使用する CSV ファイルのように聞こえます。私はこれの権利を持っていますか?

だからあなたはする必要があります...

ステップ 1 - テキスト ファイルから情報を取得します。 fgetcsv() (区切り文字を '|' に設定) などを試すか、単に fgets() を使用し、explode() を使用してデータを配列に入れることができます。

ステップ 2 - データベース テーブルにデータを挿入する すべてのデータが含まれるまで、データをループします。すべてがうまくいけば...

ステップ 3 - 古いデータを削除する 最初にデータベースを空にしてからデータを追加する方が簡単に思えるかもしれません。それを行うこともできますが、新しいデータに問題が発生した場合はどうすればよいでしょうか? 修正するまで、データベーステーブルが空のままです。これが何に使用されるかによっては、望ましくない可能性があります。

于 2010-03-22T17:20:12.273 に答える