Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Warunek IF przy UPDATE [solved]
wujek2009
post
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Hej, w jaki sposób używać warunku "IF" w zapytaniach pokroju "UPDATE"?

  1. UPDATE TABELA SET num_articles IF num_articles = 0 THEN SET '0' ELSE SET '-1' END IF WHERE id_cat = 2


Zwraca mi błąd:
Kod
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF num_articles = 0 THEN SET '0' ELSE SET '-1' END IF WHERE id_cat = 2' at line 1


coś ze składnią, tylko nie wiem w jaki sposób właśnie poprawnie napisać ten warunek dla MySQL.
Mam kolumnę "num_articles" trzymającą ilość artykułów (MEDIUMINT), i po prostu ma się aktualizować za każdą zmianą kategorii - tylko, że jeśli num_articles wynosi 0, to gdy odejmie wartość, to kolumna przyjmuje maksymalne ID dla MEDIUMINT (> 16tys)

Ten post edytował wujek2009 5.02.2011, 11:34:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


http://dev.mysql.com/doc/refman/5.0/en/con...tml#function_if
  1. UPDATE tabela SET num = IF(num=0, 0, -1) WHERE id = 2


dostosuj to do swoich potrzeb.

Ten post edytował skowron-line 5.02.2011, 11:32:23
Go to the top of the page
+Quote Post
wujek2009
post
Post #3





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Wszystko działa, dzięki za pomoc ;-)
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: 1.10.2025 - 12:40