HAVING
Klauzula ma być używana na zagregowanych danych podczas grupowania wierszy przy użyciu GROUP BY
klauzula. Ponieważ operujesz na każdym wierszu osobno, powinieneś zastąpić HAVING
z WHERE
klauzula. Zobacz ten przykład
po szczegóły.
Użycie HAVING na kolumnach innych niż agregacja na liście SELECT jest niestandardowym zachowaniem, które obsługuje MySQL, ale zachowaniem, na którym nie należy polegać. Nawet odniesienie do MySQL zniechęca:
Na marginesie:jeśli przekazujesz argumenty od użytkownika do zapytania (z %s
), upewnij się, że zapoznałeś się z przygotowanymi oświadczeniami. W przeciwnym razie możesz mieć rażącą lukę w zabezpieczeniach.