Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z IF'em
Forum PHP.pl > Forum > Bazy danych > MySQL
gibon
Witam,
nie mogę sobie poradzić z instrukcją warunkową w mysql'u. Wydaje mi się że składnia jest poprawna, jednak serwer odpowiada błędem składni #1067

głupi przykad wygląda tak:

Kod
IF (1=1) THEN
SELECT * FROM `MojaTabela`;
END IF;


gdzie robię błąd?
Nosfi
kolega Janek pare postów wcześniej użył w odpowiedzi zapisu warunkowego ...

http://forum.php.pl/index.php?showtopic=27...ndpost&p=162142
gibon
...a i owszem, ale nie tego if'a smile.gif Jak rozumiem IF występuje w dwóch postaciach. Tak jak użył go Janek:
Kod
IF(expr1,expr2,expr3)
, oraz tak jak ja go chcę użyć:
Kod
IF search_condition THEN statement_list
    [ELSEIF search_condition THEN statement_list] ...
    [ELSE statement_list]
END IF


Niestety ten drugi sposób nie chce mi działać sad.gif
Ktoś ma pomysł dlaczego?
FiDO
A masz MySQL 5.0 ? Bo ta skladnia IF'a ktora Ty chcesz uzyc to jest skladnia z procedur, ktore zostaly wprowadzone dopiero w MySQL 5.0 i podejrzewam, ze wlasnie tutaj tkwi problem.
gibon
nie mam sad.gif Rozumiem że nawet w piątce takiej składni można użyć tylko wewnątrz procedury składowanej?
FiDO
Dokladnie tak.. Ale po co Ci to w ogole w normalnych zapytaniach?
gibon
Chciałem w jednym zapytaniu zapisać dodanie rekordu do bazy, pod warunkiem że jeszcze taki nie istnieje. Można by to obudować procedurą, ale po co, jak to w jednym tylko miejscu ma wystąpić w programie...
FiDO
Zainteresuj sie zapytaniem typu INSERT [...] IGNORE [...], powinno sie przydac.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.