incorect integer value

skyfish

Новичок
incorect integer value

Все работало и каким то чудом сбились настройки.

таблица dop{
id int not null,
idbase int,
dop text}


insert into dop values(0,'','text'); Стало выдавать за ошибку на локальном компе incorect integer value. На сервере пашет.
Почему и как это могло произойти.???

-~{}~ 09.02.09 14:01:

Автор оригинала: skyfish
Все работало и каким то чудом сбились настройки.

таблица dop{
id int not null,
idbase int,
dop text}


insert into dop values(0,'','text'); Стало выдавать за ошибку на локальном компе incorect integer value. На сервере пашет.
Почему и как это могло произойти.???
Другими словами '' перестало воспринимать как пустое значение.
insert into dop values(0,'888','text'); запрос проходит.
 

skyfish

Новичок
PHP:
  CREATE TABLE `dop` (
    `id` int(8) NOT NULL auto_increment,
    `idbase` int(8) default NULL, 
   `dop` text, 
   PRIMARY KEY  (`id`) 
 ) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=cp1251;
 

skyfish

Новичок
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

-~{}~ 09.02.09 14:48:

Присвоил
sql_mode=
в my.ini и все заработало.

Вопрос. Почему такое произошло, то есть почему раньше все работало, а теперь пришлось лезть в настройки???? Кроме меня к компу никто не подходит?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Вопрос. Почему такое произошло, то есть почему раньше все работало, а теперь пришлось лезть в настройки???? Кроме меня к компу никто не подходит?
Ответ.
Этот вопрос, в первую очередь, нужно задать самому себе.
Здесь нет телепатов с таким высоким скилом.

Присвоил
sql_mode=
в my.ini и все заработало.
Нужно делать не так, чтоб "заработало",
а так, чтоб работало во всех случаях.
 

DiMA

php.spb.ru
Команда форума
Пустая строка "" для чисел и не должна работать. Можно указывать числа, в скобках или без оных (или дефолтное значение NULL).
 

zerkms

TDD infected
Команда форума
DiMA
"не должна" это с какой стати? с точки зрения здравого смысла или реалий синтаксиса mysql с выключенным стрикт-модом?
 

zerkms

TDD infected
Команда форума
*****
ну, если инструмент реагирует на '' и кастует его в 0 - то глупо, наверное, говорить, что "не должна".
это особенность конкретной версии субд с конкретными настройками - это факт.

-~{}~ 09.02.09 23:19:

не менее глупо говорить, что при указании NULL "должно" подхватываться дефолтное значение. с точки зрения здравого смысла - NULL это вполне конкретное значение, с какого хера оно бы заменялось на дефолт? :)
 

x-yuri

Новичок
ну, если инструмент реагирует на '' и кастует его в 0 - то глупо, наверное, говорить, что "не должна".
это особенность конкретной версии субд с конкретными настройками - это факт
думаю, "не должна" следует понимать как "не приветствуется" или "имеет смысл при работе со старыми приложениями"

не менее глупо говорить, что при указании NULL "должно" подхватываться дефолтное значение. с точки зрения здравого смысла - NULL это вполне конкретное значение, с какого хера оно бы заменялось на дефолт? :)
у поля idbase значение по умолчанию - NULL, т.е. имелось в виду "NULL, которое является значением по умолачанию"
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
С нетерпением ждём следующего потрясающего открытия: "почему это '0000-00-00' не является датой?!"
 
Сверху