Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> UPDATE wartości względem wielu kluczy
misiek172
post
Post #1





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
artega
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

Ostrzeżenie: (0%)
-----


Powinno wystarczyć:
  1. 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)
Go to the top of the page
+Quote Post
misiek172
post
Post #3





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
ucho
post
Post #4





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


W tym konkretnym przypadku pewnie by wystarczyło
  1. UPDATE tabela SET stan = id WHERE id IN (1,2,8)

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
misiek172
post
Post #5





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


no niestety nie pomogło by, poniewaz dla kazdego ID stan jest inny, rozwiązałem już ten problem przy pomocy WHEN ... THEN
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 15:35