SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.01.2011 01:15:40

Makcumyc
Участник
Зарегистрирован: 28.01.2011
Сообщений: 1

Выборка в mysql по полю имеющему тип set.

Уже третий день изучаю MySQL)
Возникло затруднение:

В базе есть таблица с тремя полями, первое поле: id; второе поле: surname - содержит фамилию; третье поле: citizenship - содержит гражданство, имеет тип set.

Таблица состоит из трех записей:
id, surname, citizenship
1, Иванов,   Русский
2, Петров,   Украинец
3, Сидоров, Русский, Украинец

Сидоров имеет двойное гражданство.
Как на PHP сформировать запрос, чтобы получить все записи по полю citizenship (тип SET), то есть всех имеющих гражданство Русский, включая двойное гражданство.

Типа такого:
$citizenship="Русский";
mysql_query("SELECT * FROM table WHERE citizenship LIKE ('%$citizenship%')");// - только сие не работает.
Если убрать проценты, идет выбор только Иванова.

Спасибо за ранее всем откликнувшимся.

Неактивен

 

#2 28.01.2011 02:07:46

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Выборка в mysql по полю имеющему тип set.

WHERE FIND_IN_SET('Русский', citizenship).

Учтите, что этот способ не может использовать индекс.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson