私は大きなMySQLデータベースを持っており、重要なビットをより小さなMySQLデータベースに抽出しています。大きなデータベースの値は絶えず変化しています。小さなデータベースも動的に変更する必要があります。値が変更された場合にのみPHPでMySQLデータベースを更新
私はこのコードを使用して、それが空だだけ小さなデータベースを作成することができる午前:
$SQL_INSERT="INSERT LOW_PRIORITY IGNORE INTO oddsnavi_baby.calc (one , two, three)
VALUES ('$one', '$two' , '$three')";
mysql_db_query($database_baby, $SQL_INSERT) or die("Failed Query of " . $SQL_INSERT);
私が更新されるように変更された値をしたいと思います。たとえば、$ 3が小さなデータベースの '3'の既存の値と異なる場合、 'three'が行内の唯一の更新された値です。どうやってするか?
EDIT: 次のコードでエラーが発生します。私の構文が間違っていますか?
$SQL_INSERT="INSERT LOW_PRIORITY IGNORE INTO oddsnavi_baby.calc (one , two, three)
VALUES ('$one', '$two' , '$three')
ON DUPLICATE KEY UPDATE oddsnavi_baby.calc SET two = '$two' , three = '$three'
WHERE one = '$one'";
私は大きなデータベースを制御することはできませんので、私は同じプロセスで小さなデータベースを更新することはできません。私が話しているこのアップデートは、cronジョブとして実行されるはずですので、バックグラウンドで実行されます。私はちょうどそれが空であればそれを満たすのではなく、小さなデータベースを更新するための正しいコードを探しています。 INSERT ON DUPLICATE KEY UPDATEのようなものです。 –