Работаю с легаси. Столкнулся с такой ситуацией.
1. MySQL-сервер на хостинге А нормально отрабатывает INSERT INTO (бла-бла-бла)
2. А другой на другом хостинге тоже самое бла-бла-бла не вставляет, выдает:
SQLSTATE[HY000]: General error: 1364 Field 'some_field' doesn't have a default value
The SQL being executed was: INSERT INTO...
Поле 'some_field' - это varchar, not-null, без значения по умолчанию.
И поведение второго сервера в принципе - правильное, он отказывается вставить запись, где в параметрах INSERT INTO не передано 'some_field' (а оно там не передано).
Но в таком случае - почему первый сервер этот же запрос обрабатывает, вставляя туда пустое (не NULL, поле-то - not-null, а именно пустое) значение?
Повторюсь: скрипт и там и там - идентичный, структура БД - тоже.
Есть ли какие-то настройки MySQL-сервера, влияющие на такое поведение? Это пока единственное что приходит мне в голову.
И да, оба сервера - 5.7 версии.
Спасибо.