Что отвечает за установку дефолтных значений в поля?
Такая ситуация.
Есть таблица с полем name NOT NULL.
При выполнении запроса
insert into user(id, name) values (1, null);
MySQL может выдать ошибку, что имя не должно быть null, а может просто добавить запись и name установить как ''.
Как настроить MySQL, чтобы он как раз устанавливал в ''?
Чик-чирик: Это как register_globals - неочевидное преобразование, и соответственно неочевидное поведение, что есть плохо. Хороший код отличается очевидным поведением, как раз ваш случай, при разных настройках базы ведет себя по разному.