Отправить заявку

MySQL Incorrect integer value

Обновили сегодня сервер MySQL до версии 5.5.28. Все сайты вроде работали отлично, пока не нужно было выполнить публикацию материалов. По умолчанию ошибки на сайте выключены и не сразу смоли разобраться в чем дело. После отладки выяснилось, что MySQL попросту отказывается вставлять запись из-за некорректно заполненного поля "сортировка". Тип этого поля в таблице INT и по-умолчанию ставится "0" самой базой. А так как запись новая - то в форме "сортировка" стояла пустой. Вот сервер и не захотел принимать такую запись. Печально... подумали все. Ведь тогда придется переписывать много кода. Это, конечно нужно делать, но на все сразу времени нет. Новый сервер MySQL сервер по-умолчанию работает со включенным strict-mode. Нужно просто отключить этот режим. В нашем конфиге (по-умолчанию это my.ini (my.cnf)) нужно удалить строку: [sql] sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" [/sql] После изменений - сервер нужно перезапустить!

Другие публикации