con MySQL sto usando questa query:MYSQL UPDATE SET sulla stessa colonna, ma con più clausole Where
UPDATE CustomerDetails_COPY
SET Category_ID = 10
WHERE Category_ID = 2
Questo è bene, ma mi piacerebbe annuncio 15+ più SET/WHERE
ad esso piace:
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
.....
Come aggiungerei a questo?
EDIT:
come da Hunters Suggerimento:
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)
Questa grande opera! Grazie
Eliminato il mio commento come provato e funzionato, bello :) Come nota, è possibile aggiungere "ELSE ID_Categoria" prima di "FINE" se non si desidera includere il WHERE –
Grazie. Un buon punto; salverebbe dall'entrare nelle colonne due volte. –
Con la clausola 'WHERE', sei praticamente sicuro di poter utilizzare un indice su Category_ID, anche con [safe-updates] (http://dev.mysql.com/doc/refman/5.0/en/ mysql-command-options.html # option_mysql_safe-updates) abilitato, è necessario inserire una clausola 'WHERE' con un' UPDATE', quindi la clausola 'ELSE' potrebbe non essere la scelta migliore. Rimani con "DOVE". –