Estoy haciendo un INSERT ... ON DUPLICATE KEY UPDATE
pero necesito que la parte de la actualización sea condicional, solo haciendo la actualización si alguna condición adicional ha cambiado.INSERTAR ... ¿ACTUALIZAR LLAVE DUPLICADA con DÓNDE?
Sin embargo, WHERE
no está permitido en este UPDATE
. ¿Hay alguna solución para esto?
No puedo hacer combinaciones de INSERT/UPDATE/SELECT, ya que esto tiene que funcionar en una replicación.
Nunca supe que podría acceder al valor de la tabla original dentro de la parte UPDATE. Esto probablemente soluciona mi problema (aunque mi antiguo trabajo es bastante bueno :)) –
Puede suceder que MySQL se queje de que 'la columna en la lista de campos es ambigua' - entonces necesitarías usar: 'EN ACTUALIZACIÓN DE LLAVE DUPLICADA daily_events.last_event_id = IF (daily_events.last_event_created_at
boryn
El enlace publicado en thewebfellas.com está muerto, por desgracia. –