con MySQL Estoy usando esta consulta:MYSQL actualización del conjunto en la misma columna pero con múltiples cláusulas WHERE
UPDATE CustomerDetails_COPY
SET Category_ID = 10
WHERE Category_ID = 2
que ya está bien, pero me gustaría anuncio 15+ más SET/WHERE
a ella como:
UPDATE CustomerDetails_COPY
SET Category_ID = 9 WHERE Category_ID = 3
SET Category_ID = 12 WHERE Category_ID = 4
SET Category_ID = 11 WHERE Category_ID = 5
.....
¿Cómo puedo agregar algo a esto?
EDIT:
de acuerdo con los cazadores Sugerencia:
UPDATE CustomerDetails_COPY
SET Category_ID = CASE Category_ID
WHEN 2 THEN 10
WHEN 3 THEN 9
WHEN 4 THEN 12
WHEN 5 THEN 11
END
WHERE Category_ID IN (2,3,4,5)
Esto funciona muy bien! Gracias
Eliminé mi comentario como probé esto y funcionó, agradable :) Como nota, podría agregar "ELSE Category_ID" antes de "END" si no desea incluir el WHERE –
Gracias. Un buen punto; salvaría de ingresar las columnas dos veces. –
Con la cláusula 'WHERE', se garantiza que podrá utilizar un índice en Category_ID, también con [safe-updates] (http://dev.mysql.com/doc/refman/5.0/en/ mysql-command-options.html # option_mysql_safe-updates) habilitado, debe ingresar una cláusula 'WHERE' con un' UPDATE', por lo que la cláusula 'ELSE' podría no ser la mejor opción. Quédate con 'WHERE'. –