Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выставить все элементы списка SET()
 
 автор: IsIra   (02.09.2009 в 03:33)   письмо автору
 
 

Есть длинный списочек SET(), можно ли как нибудь при создании таблицы установить для него все значения по умолчанию не перечисляя их?
`notify` SET('a', 'b', 'c' ......) DEFAULT ???
И такой же вопрос про вставку записей. Можно как нибудь при вставке выбрать все позиции не перечисляя их явно?

  Ответить  
 
 автор: Trianon   (02.09.2009 в 08:58)   письмо автору
 
   для: IsIra   (02.09.2009 в 03:33)
 

наборы данных хранятся в виде битовых полей.
инициализировать их можно соответствующим числовым представлением.
http://dev.mysql.com/doc/refman/5.0/en/set.html
При чем с версии 5.0.3 даже в двоичной форме.
http://dev.mysql.com/doc/refman/5.0/en/bit-field-values.html

  Ответить  
 
 автор: IsIra   (02.09.2009 в 15:09)   письмо автору
 
   для: Trianon   (02.09.2009 в 08:58)
 

Не совсем понятно можно ли для этого типа столбца выстовить DEFAULT...
Пробую так

CREATE TABLE `test`(
    `id` INT(10) UNSIGNED NOT NULL, 

    `row` SET('a', 'b', 'c', 'd', 'e') NOT NULL DEFAULT '0110', 
    
    PRIMARY KEY (`id`)    
)ENGINE=MyISAM;

Но mysql возвращает ошибку
#1067 - Invalid default value for 'row'

  Ответить  
 
 автор: Trianon   (02.09.2009 в 15:38)   письмо автору
 
   для: IsIra   (02.09.2009 в 15:09)
 

так Вы же пытаетесь строку задать!
'0110' - это сторока.
Вы в мануал заглядывали?

  Ответить  
 
 автор: IsIra   (02.09.2009 в 15:53)   письмо автору
 
   для: Trianon   (02.09.2009 в 15:38)
 

Да заглядывала, но там в основном вставка записей и выборка...

Пробывала и DEFAULT 0110
Сделала выборку row + 0 вернуло 26
DEFAULT 26.
Может подскажите а то я реально недопонимаю.

  Ответить  
 
 автор: Trianon   (02.09.2009 в 16:02)   письмо автору
 
   для: IsIra   (02.09.2009 в 15:53)
 

>Да заглядывала, но там в основном вставка записей и выборка...

Там примеры значений битовых полей. А уж в каких они операторах - не столь важно.

8.1.5. Bit-Field Values
Beginning with MySQL 5.0.3, bit-field values can be written using b'value' or 0bvalue notation. value is a binary value written using zeros and ones.
INSERT INTO t SET b = b'1010';


----

DEFAULT b'0110'


до версии 5.0.3 можно писать DEFAULT 6 поскольку 00000110(2) = 6(10)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования