2012-05-07 13 views
0

mysqlデータベースを更新して更新する必要があるかどうかを確認するには、コーディングが必要です。 DBは株価情報のためのものです&は現在DBにない場合にのみ情報をダウンロードします。私はコードのいくつかの行で行うことができるかもしれないコーディングのいくつかの長い断片を作らずに自分のコードを設計する方法を理解しようとしています。MySQLテーブルの更新

私は現在、テーブルのinformation_schema UPDATE_TIME情報を使用しています。その情報があります。しかし、私が立ち往生しているところは、DBを更新する必要があるかどうかをPHPで確認する方法です。

本質的には、テーブルを更新する必要があるかどうかを確認するためのコードスニペットを探していますが、重複した情報がないかどうかを確認します(つまり、if文を使用した場合)&ダウンロードそれはとにかく、それが重複している情報なら、それを挿入しません。[私はこの日付を使うことができます])。

おかげで、このの

+2

[INSERT ... ON DUPLICATE KEY UPDATE'](http://dev.mysql.com/doc/en)を行うために非常にラウンドアバウトな方法を試してみようとしているかどうかはわかりません。 /insert-on-duplicate.html)。 – eggyal

答えて

0

思う:

$result = mysql_query("SELECT * FROM tableName" WHERE ConditionYouHave) 
or die(mysql_query("INSERT INTO tableName VALUES ('value1','value2','value3')")); 
+0

'die()'を削除するか、スクリプトは一度更新した後に停止します。 – Zombaya

0

あなたはデータフィードのいくつかの並べ替えを持っていますが、新しいデータをチェックするために経由で実行できますか?これが当てはまる場合は、新しい行を探してファイルを1行ずつ表示します。見つけたら、それをテーブルに挿入します。行がすでに存在する場合は、次の行に進みます。これは、PHPでかなり簡単に行うことができます。

0
INSERT INTO table_name (id, column2) 
SELECT {$int_id}, '{$str_column2}' 
FROM table_name 
WHERE id = {$int_id} AND column2 != 'what ever you want' 
ON DUPLICATE KEY UPDATE column2 = VALUES(column2) 

table_nameは独自のテーブルの名前です。

ID列があるとします。 column2は単なる例です。

WHEREを通じて行を検証し、必要な条件を設定できます。

をこの例にします。