Ich mache eine INSERT ... ON DUPLICATE KEY UPDATE
, aber ich brauche den Updateteil bedingt, nur das Update, wenn einige zusätzliche Bedingung geändert hat.INSERT ... ON DUPLICATE KEY UPDATE mit WHERE?
Jedoch ist WHERE
auf diesem UPDATE
nicht erlaubt. Gibt es einen Workaround dafür?
Ich kann Kombinationen von INSERT/UPDATE/SELECT nicht tun, da dies über eine Replikation funktionieren muss.
Ich wusste nie, dass ich auf den ursprünglichen Tabellenwert innerhalb des UPDATE-Teils zurückgreifen konnte. Dies löst wahrscheinlich mein Problem (obwohl meine alte Arbeit ziemlich gut ist :)) –
Es kann passieren, dass MySQL sich beschweren wird 'Spalte in der Feldliste ist mehrdeutig' - dann müssten Sie verwenden: 'ON DUPLICATE KEY UPDATE daily_events.last_event_id = IF (daily_events.last_event_created_at
boryn
Der Link zu thewebfellas.com ist leider tot. –