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:
Esto actualizará los valores 'name' y 'date' de las filas cuya key 'title' tenga los valores 'My title' y 'Another title'.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')
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