Ich bin auf der Suche nach einer einfachen Möglichkeit, ein Update für eine Tabelle nur dann, wenn keine anderen Spalten in der gleichen Tabelle mit dem gleichen Wert, den ich versuche zu aktualisieren, idealerweise in einem einzelne Abfrage. Bis jetzt bekomme ich einen Fehler You specify target table 't1' for update in FROM clause
. Hier ist, was ich in ein paar Variationen versucht, bisher (noch nicht zum Laufen bringen):MySQL Conditional Update in der gleichen Tabelle
UPDATE emailQueue AS t1
SET
t1.lockedOn = 1470053240
WHERE
(SELECT
COUNT(*)
FROM
emailQueue AS t2
WHERE
t2.lockedOn = 1470053240) = 0
AND t1.lockedOn IS NULL
Mögliches Duplikat [wie Datenbank sequentiell aktualisieren mit mysql] (http://stackoverflow.com/questions/38693492/how-to-update-database-sequentially -use-mysql) – e4c5
@ e4c5 ernsthaft gibt es keinen Weg um dies zu tun? –
Sie müssen einen Join verwenden, wie in der Frage erwähnt und von @ Gordon-linoff als Antwort – e4c5