Hola a todos,
estoy trabajando con MySQL y quiero realizar un update múltiple con una primary key múltiple. Me explico, para hacer un update que afecte a múltiples líneas "de un tiro", actualizando sólo las que queremos, se puede hacer algo como esto:
Código:
UPDATE `my_table` SET `name` = CASE
WHEN `title` = 'My title' THEN 'My Name 2'
WHEN `title` = 'Another title' THEN 'Another Name 2'
ELSE `name` END,
`date` = CASE
WHEN `title` = 'My title' THEN 'My date 2'
WHEN `title` = 'Another title' THEN 'Another date 2'
ELSE `date` END
WHERE `title` IN ('My title','Another title')
Esto actualizará los valores 'name' y 'date' de las filas cuya key 'title' tenga los valores 'My title' y 'Another title'.
Claro, si la key es con un sólo campo ( en este caso 'title') es muy simple, ¿pero a alguien se le ocurre como hacerlo para keys múltiples?, es decir, que en vez de ser 'title' IN ('My title', 'Another title') sea algo como ('title' AND 'date') IN (pares de valores).
Gracias por vuestro tiempo, un saludo