Ich habe die folgende Abfrage verwendet:
%Vor% Ich möchte aber auch ON DUPLICATE KEY UPDATE
konditional machen, also mache ich folgendes:
lastupdate
war vor weniger als 20 Minuten ( lastupdate > NOW() - INTERVAL 20 MINUTE
). lastupdate = NOW()
, fügen Sie einen zu programruncount
hinzu und aktualisieren Sie dann ip = :ip
. Ich bin nicht wirklich sicher, wie ich das machen würde, aber nachdem ich mich umgesehen habe, habe ich versucht, eine IF
Anweisung im ON DUPLICATE KEY UPDATE
Teil zu verwenden.
Allerdings erhalte ich den folgenden Fehler: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF(lastupdate > NOW() - INTERVAL 20 MINUTE, VALUES(lastupdate, programruncount +' at line 6
Sie verwenden IF-Anweisung falsch
%Vor%So prüft IF nach einer Bedingung und gibt einen von zwei Werten zurück, die als Parameter angegeben wurden. Siehe Flow Control Operators von MySQL .