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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Булевый тип

Сообщения:  [1-5] 

 
 автор: Loki   (03.10.2006 в 01:29)   письмо автору
 
   для: cheops   (02.10.2006 в 19:25)
 

Посмотрите внимательно: enum кроме значений прописаных пользователеми и null имеет еще одно состояние. Это состояние документировано, но тем не менее, поведение его довольно странное.

   
 
 автор: Loki   (03.10.2006 в 01:27)   письмо автору
 
   для: Trianon   (02.10.2006 в 21:26)
 

В итоге остановился на таком варианте. Просто не сразу до него додумался:)

   
 
 автор: Trianon   (02.10.2006 в 21:26)   письмо автору
 
   для: Loki   (02.10.2006 в 18:08)
 

А чем не устраивает обычный INT?
Перекидывается он совершенно спокойно: UPDATE tab SET fld = 1 - fld;

   
 
 автор: cheops   (02.10.2006 в 19:25)   письмо автору
 
   для: Loki   (02.10.2006 в 18:08)
 

Не очень понятно, булевое значение - это "да" и "нет", которое реализовано в лучших традициях C: всё что 0 - ложь, всё что отлично от 0 - истина. NULL - задумывался как "не знаю", под ним может скрываться и ложь и истина и строка и всё, что угодно - отсуствие информации. Ведь SQL проектировался для бизнес-систем, где отсутствие информации очень важный параметр, который нельзя сбрасывать со счетов. Вы хотите NULL как-то обрабатывать, или приспособить NULL для булевых операций?

   
 
 автор: Loki   (02.10.2006 в 18:08)   письмо автору
 
 

С удивлением обнаружил, что такого в mysql нет.
В чем состоит задача: чтобы одним и тем же запросом можно было перекидывать значение поля.
Пока что наиболее вероятный кандидат на эту роль - тип enum. Но его внутренняя структура выглядит следующим образом:

Value Index 
NULL NULL 
''     0 
'one'  1 
'two'  2 
'three' 3 

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

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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