Ich habe eine Eigenschaft Tabelle, wo es regelmäßig von einem XML-Feed aktualisiert. Wenn sich die Eigenschaft nicht in der Datenbank befindet, wird sie eingefügt. Wenn es da ist, aktualisiert es es. Aber auch Benutzer können die Felder über ein Formular am hinteren Ende der Website aktualisieren. Wenn ein Benutzer ein Feld aktualisiert, es kennzeichnet sie und ändert den Status auf 1.mysql Update auf Bedingung eines anderen Feldes
Meine Tabelle sieht wie folgt aus:
heading | nice house
up_heading | 1
price | 40000
up_price | 0
In diesem Fall, wenn täglich Cron-Job das Update ausgeführt wird, wird es nicht aktualisieren sie die Position wie die up_heading
‚s Status 1 ist, aber es wird den Preis als der Status von up_price
ist 0.
Also meine Frage ist, aktualisieren, wie ich schreiben kann eine effiziente Update-Abfrage wie:
update property
set heading = $heading
case up_heading = 0, set price = $price
case up_price = 0,
und so weiter bis where p_id = %p_id
?
Dies ist, was Sie suchen: http://stackoverflow.com/questions/17265522/conditional-update-in-mysql – dchayka
Was ich tun würde, ist die Verwendung von PHP in der cron Job-Skript, um die Felder zu analysieren und die erforderlichen Daten zu setzen, dann eine einfache UPDATE-SQL-Anweisung mit einer WHERE-Klausel auszuführen und Bedingungen in der Abfrage zu vermeiden. – dchayka
10 'set heading = $ heading'