insert на 5.0.24 выда ошибку

tf

крылья рулят
insert на 5.0.24 выда ошибку

собвенно непойму как это исправить

таблица
CREATE TABLE `cms_news` (
`id` int(10) NOT NULL auto_increment,
`lang` enum('ru','en') NOT NULL default 'ru',
`visible` enum('no','yes') NOT NULL default 'no',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`notice` text NOT NULL,
`content` text NOT NULL,
`reference` tinytext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

делаю обычную вставу (отсуствует поле notice - text)
INSERT INTO `cms_news`
SET `date` = '2006-08-29 05:07:54',
`content` = '',
`reference` = '',
`visible` = 'no',
`lang` = 'en',
`id` = '0'

говорит
#1364 - Field 'notice' doesn't have a default value
- собственно как-будто хочет какое-то дефолтное значение для текстовых данных
т.к. на если остальные данные опустать типо int, radio, все нормально

может у когто было уже такое, встречалось,
никак не пойму что делать
на работе проверил на MySQL - 5.0.0 все нормально
 

Апельсин

Оранжевое создание
гм, ну у вас поле объявлено как NOT NULL, дефолтного значения у него нет, никакого значения в запросе мы ему не присваиваете. Какие у вас еще вопросы есть?
 

tf

крылья рулят
это конечно понятно но при запросе вида
INSERT INTO SET - достаточно всегда перечислить нужные данные и все ок
и незачем NULL в поле добавлять

Апельсин ты не понял это должно работать но на текущей дома mysql неработает
 

tony2001

TeaM PHPClub
>>поле объявлено как NOT NULL, дефолтного значения у него нет, никакого значения в запросе мы ему не присваиваете
>Апельсин ты не понял это должно работать

перечитай еще раз, что сказала Апельсина.
 

TAHK

Новичок
tf
А MySQL сервер у нас по совместительству шаманом подрабатывает? Или как он узнает, что должно быть в поле помеченным NOT NULL без дефолтного значения?

Ну должно работать, но не обязанно )
 

tf

крылья рулят
выходит что в 5.024 они убрали эту необязательность..
 

Апельсин

Оранжевое создание
tf, в 5.0 MySQL более серьезно подходит к присвоению "дефолтных" значений, поэтому такой распиздяйский запрос и не проходит.

А 5.0.0 выкинь. Что за приколы тестировать на пре-альфа, когда есть GA.
 

tf

крылья рулят
да ладно распиздяйский я лучше null поставлю

ok. сенкс спасибо что разъяснили хотя и грубо
 

Апельсин

Оранжевое создание
распиздяйский, потому что полагаешься на СУБД в таком скользком вопросе, хотя ситуация из разряда "не определено". Раньше MySQL сам решал какое число туда впихнуть и присваивал "самое лучшее на его усмотрение".
В общем даже если бы и позволял, то такие запросы лучше не делать, т.к. потом может вылезти боком.
 
Сверху