misiek172
30.12.2008, 12:01:44
Witam.
Jak ma wyglądać takie zapytanie MySQL:
UPDATE
stan = 1
stan = 2
stan = 8
WHERE id =1, id = 8, id =3
chodzi o to aby on dodał:
do id1 stan=1
do id8 stan=2
do id3 stan=8
to chyba było coś z IN ale nie pamiętam,a nie mogę znaleźć na google :/
Pozdrawiam, Łukasz.
artega
30.12.2008, 12:16:53
Powinno wystarczyć:
UPDATE tabela SET stan = (CASE WHEN id = 1 THEN 1 WHEN id = 2 THEN 2 WHEN id = 8 THEN 8 END) WHERE id IN (1,2,8)
misiek172
30.12.2008, 12:17:53
przed chwilą to znalazłem do Manualu MYSQL. Super dzięki wielkie, ale wydaje mi się że był jeszcze jeden prostszy sposób, ale użyje tego
ucho
30.12.2008, 12:40:11
W tym konkretnym przypadku pewnie by wystarczyło
UPDATE tabela SET stan = id WHERE id IN (1,2,8)
misiek172
30.12.2008, 12:59:15
no niestety nie pomogło by, poniewaz dla kazdego ID stan jest inny, rozwiązałem już ten problem przy pomocy WHEN ... THEN