@shoomyst
dumb

Давайте поговорим о sql_mode в MySQL?

В русскоязычном сегменте не так много информации о выборе режимов для данного параметра. Часто это либо просто их перечисление, либо рассмотрена лишь небольшая часть, либо просто устаревшая информация.

На хабре есть несколько постов о режимах sql_mode в MySQL:
habrahabr.ru/post/166411
habrahabr.ru/post/116922

Значение параметра по умолчанию:
  • До 5.6.6 - "" (пустое значение)
  • Начиная с 5.6.6 - NO_ENGINE_SUBSTITUTION
  • Начиная с 5.7.5 - ONLY_FULL_GROUP_BY, NO_ENGINE_SUBSTITUTION, STRICT_TRANS_TABLES


Предлагаю в этом вопросе поделиться опытом, какие плюсы/минусы вы обнаружили для себя при включении/невключении того или иного режима. Соберем, так сказать, базу знаний по данному параметру.
У кого какие значения на продакшенах? Как эти режимы повлияли на написание вами кода в используемых вами языках программирования? Может они каким-то образом сломали сторонние скрипты и приложения?
Чем больше режимов мы тут обсудим, тем, разумеется, лучше.
Возможно, мы даже прийдем к некоторой типовой конфигурации данного параметра на сегодняшний день.
  • Вопрос задан
  • 6302 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
оукей, давайте соберем базу знаний. Действительно полезное дело сделаем... А хотя нет. Можно просто почитать в документации к mysql что за что отвечает
dev.mysql.com/doc/refman/5.0/en/sql-mode.html
причем с примерами. По большей части это неплохие ограничения для разработчика, которые позволяют избежать потенциальных ошибок.

Начиная с 5.7.5

что?
Ответ написан
@shoomyst Автор вопроса
dumb
Пока остановаюсь на таком режиме:
  • STRICT_TRANS_TABLES
  • IGNORE_SPACE
  • NO_AUTO_CREATE_USER
  • NO_ENGINE_SUBSTITUTION
  • ONLY_FULL_GROUP_BY
  • PIPES_AS_CONCAT
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы