Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
работа с типом данных SET (katpyxa) 17/01/2002 - 04:50:47
      Re: работа с типом данных SET (Василий) 17/01/2002 - 12:43:19
      Re: спасибо. : ) (katpyxa) 18/01/2002 - 12:57:32

> Original message text:
> From: katpyxa - 17/01/2002 - 04:50:47
> Subject:работа с типом данных SET
> -----------------
> сразу прошу извинить меня за, может быть, неудачный вопрос, но тем не менее....
> тип данных SET позволяет хранить или NULL или несколько определенных при создании таблицы значений.
> При использовании INSERT или UPDATE, как должна выглядеть в запросе строка VALUES для внесения этих самых нескольких значений?
>
> тупой пример
>
> CREATE family
> SET('папа','мама','я')
>
> пример INSERT?
>
> прошу прощения, если показался наглым.
>


From: Василий - 17/01/2002 - 12:43:19
Subject:работа с типом данных SET
-----------------
поля этого типа для хранения списка значений множества строк через запятую.
а хранят в виде числа - двоичной маски.

------------------ mysql doc ------------------

SET("a","b","c","d")

SET Decimal Binary
a 1 0001
b 2 0010
c 4 0100
d 8 1000

------------------ mysql doc ------------------

работать вот как :

CREATE TABLE t (f set('a','b','c'));

работать можно как со строками

insert into t(f) values ('a');
insert into t(f) values ('a,b');

'ddd' не приводится к элементам множества, будет добавлен null
insert into t(f) values ('ddd');

select * from t;
+------+
| f |
+------+
| a |
| a,b |
| |
+------+

или как битовыми масками

например, 'а' бужет соотв 1.
insert into t(f) values(1);

3=1+2, чтоinsert into t(f) values(1); соотв. 'a,b'
insert into t(f) values (3);

8 не приводится к битовой маске из (1,2,4), будет вставлен null
insert into t(f) values (8);


select * from t;
+------+
| f |
+------+
| a |
| a,b |
| |
+------+


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
1588



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |