Поиск по ENUM

Духовность™

Продвинутый новичок
Поиск по ENUM

Привет!
есть в табличке поле:

Код:
user_status   ENUM('administrator','moderator', 'user') DEFAULT 'user' NOT NULL
В сценарий приходит GET-массив с перечисленными в ENUM значениями. Их может быть от одного до трёх.

Нужно произвести поиск.

Правильно ли я делаю, что ищу в ENUM таким способом:

PHP:
SELECT .. FROM .. WHERE user_status IN ('user', 'moderator', 'administrator')
строка 'user', 'moderator', 'administrator' естественно формируется из GET-запроса.

Возможны ли какие-то другие способы поиска?
 

Zetruger

ivan.chistyakov.name
а что мешало создать тему в соот разделе?!

Гы ну можно через OR конечно, но IN именно для этого и создан, чтобы проверять на вхождение в множество
 

dimagolov

Новичок
Splurov, это здесь при чем?
triumvirat вообще все enum-значения нумеруются от 1 до 65535, так что вместо IN ('user', 'moderator', 'administrator') можно писать IN (1,2,3)
 

Zetruger

ivan.chistyakov.name
вообще все enum-значения нумеруются от 1 до 65535, так что вместо IN ('user', 'moderator', 'administrator') можно писать IN (1,2,3)
это стандарт АНСИ? во всех основных sql субд это работает?
 

God

Новичок
вместо IN ('user', 'moderator', 'administrator') можно писать IN (1,2,3)
А потом кто-нибудь добавит новое значение перед 'user' и прощаемся с беззаботной жизнью.
Zetruger Лучше считай, что ты не читал этого поста
 

Sokil.Dmytro

Новичок
а кто добавит такую гадость? разве шо ручками. но тогда можно и айдишки у таблиц покоцать, любая система свалится.
 

God

Новичок
а кто добавит такую гадость
Либо сам годов через несколько, либо кто-нибудь кто будет далее сопровождать твою систему. Решит он, что красивее будет в ENUM'е держать 'guest','user','moderator','administrator' и не подумает, что используется такая "оптимизация" запроса.
 
Сверху