Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: select a typ pola enum
Forum PHP.pl > Forum > Bazy danych > MySQL
maciu
mam zapytanie do bazy
  1. SELECT id FROM cms_page WHERE template_dir = "'.$szablon_strony.'" AND publish=1 ORDER BY id DESC

Pole publish jest typu enum ( enum('0', '1', '2') ). Na 100% mam takie rekordy, które spełniają oby dwa warunki where, ale skrypt pokazuje, że takich rekordów nie ma. Gdy z warunku wyrzuce publish=1 (w rzeczywistości w prawie wszystkich rekordach publish=1) to wyświetla prawidłowe wyniki. Nie wiem o co może chodzić, może typ pola enum ma jakieś swoje prawa? Sam już nie wiem
chfast
Enum jest typem łańcuchowym wiec spróbuj
  1. publish='1'
Parti
Cytując za manualem:
Cytat
It's not advisable to define an ENUM column with enumeration values that look like numbers
spenalzo
Cytat(Parti @ 2004-09-06 15:29:13)
Cytując za manualem:
Cytat
It's not advisable to define an ENUM column with enumeration values that look like numbers

Cytat oznacza że jest to bezcelowe (jak masz liczby to enum zastepujesz tinyint), ale nie błędne.
Raczej wydaje mi sie, że jest tak jak chfast napisał, czyli brakuje apostrofów. A najlepiej zamien enum na tinyint(1).
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.