Обновили сегодня сервер 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] После изменений - сервер нужно перезапустить!
Отправить заявку