La sentencia
CASE te puede ser útil.
Se evalúa la actualización de cada columna de la tabla, dejando el valor existente en caso de que el valor recibido sea uno en particular y actualizándolo si es diferente. Por ejemplo, si
valor1
es igual a
x1
, se establece como valor para la columna el que actualmente está, es decir, no se altera. Pero si es otro valor (
ELSE
, como en la sentencia
IF-ELSE
), se establece el valor de
x1
como el nuevo valor de la columna. Y así se va evaluando cada caso.
También podrías utilizar la función
IF:
Código MySQL:
Ver original campo1
= IF (valor1
= x1
, campo1
, x1
), campo2
= IF (valor2
= x2
, campo2
, x2
), campo3
= IF (valor3
= x3
, campo3
, x3
)