Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Update Múltiple con Primary key Múltiple

Estas en el tema de Update Múltiple con Primary key Múltiple en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/05/2012, 05:20
 
Fecha de Ingreso: abril-2010
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Pregunta Update Múltiple con Primary key Múltiple

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
  #2 (permalink)  
Antiguo 18/05/2012, 06:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Update Múltiple con Primary key Múltiple

('title' ="XXX" AND 'date'="Una fecha")
OR
('title' ="YYYY" AND 'date'="otra fecha")
OR
....

Con sus parentesis puedes poner tantos pares como quieras separados por OR....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 24/05/2012 a las 06:41

Etiquetas: múltiple, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.