PHP - ошибка PHP Warning: Field 'name' doesn't have a default value
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
PHP - ошибка PHP Warning: Field 'name' doesn't have a default value
Ошибка в логах PHP при работе скрипта:
PHP Warning: Field 'name' doesn't have a default value
Для Simpla CMS - эта ошибка выглядит:
PHP Warning: Field 'payment_date' doesn't have a default value [INSERT INTO s_orders SET delivery_id='1'
означает, что на сервере обновился mysql сервер до версии 5.7 или mariadb до 10.4, в котором по-умолчанию изменен режим работы sql_mode в котором включен Строгий режим работы - Strict mode.
Strict режим оберегает базу от ввода неправильных данных.
Так при включенном strict mode в mysql - нельзя делать insert'ы без указания non-default полей. Глобально - это проблема разработчиков скрипта, у которых стоит задача сделать чтобы скрипт работал в strict mode
отключить Strict mode для mySQL сервера можно через конфиг файл /etc/my.cnf в CentOS 7 (Для Ubuntu/Debian - /etc/mysql/my.cnf):
# vi /etc/my.cnf [mysqld] sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
и перезагрузить mysql сервер командой:
# systemctl restart mysqld