|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
1588
|
|