MYSQL UPDATE SET sur la même colonne mais avec plusieurs clauses WHERE
Avec MYSQL que j'utilise cette requête:
UPDATE CustomerDetails_COPY
SET Category_ID = 10
WHERE Category_ID = 2
C'est bien, mais j'aimerais ad 15+ plus SET/WHERE
comme par exemple:
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
.....
Comment pourrais-je ajouter à cela?
EDIT:
Que Par Les Chasseurs Suggestion:
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)
Cela fonctionne très bien! Grâce
source d'informationauteur Monty
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela devrait fonctionner pour vous:
Sinon, comme Simon a suggéré, vous pourriez le faire pour enregistrer à partir d'entrer les valeurs à deux reprises:
Source: http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/
Typique de la façon de le faire serait
Est-il une raison que vous êtes en évitant que cette approche?
Est-il une corrélation entre les nouvelles et les anciennes valeurs de category_ID?
vous pouvez créer un autre tableau où la cartographie est fait.. comme:
puis le remplir...
puis