MYSQL неверный формат DATETIME
У меня есть приложение с Doctrine 1, и я генерируюupdate_datetime
поля для объектов черезnew Zend_Date->getIso()
, В течение многих лет он работал нормально, но теперь у меня есть новый ноутбук, и Doctrine пытается вставитьDATETIME
поля в виде строки"2013-07-12T03:00:00+07:00"
вместо обычного формата даты и времени MySQL"2013-07-12 00:00:00"
что совершенно странно.
Тот же самый код прекрасно работает на другом компьютере. Все почти идентично - MySQL 5.6.12, PHP 5.3.15 на обоих. Есть идеи, где мне искать?
Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2013-07-12T03:00:00+07:00' for column 'nextrun' at row 1' in library/Doctrine/Connection.php:1083
ОБНОВИТЬ
Хорошо, с помощью сообщества StackOverflow я наконец решил это. Проблема была сSTRICT_TRANS_TABLES
вsql_mode
переменная. Но меняя его в/etc/my.cnf
казалось недостаточно, поэтому мне пришлось бежатьmysql -uroot
и введите следующее:
set sql_mode=NO_ENGINE_SUBSTITUTION; set global sql_mode=NO_ENGINE_SUBSTITUTION;
Таким образом, удалениеSTRICT_TRANS_TABLES
UPDATE2 Как избавиться от STRICT навсегда?Как избавиться от режима STRICT SQL в MySQLI '