MySQL Можете ли вы переопределить режим SQL сервера на уровне базы данных?

У нас есть один сервер MySQL 5.7, который нам нужен в нестрогом режиме, потому что это требуется некоторым устаревшим базам данных. Однако в нашем новейшем приложении мы бы хотели, чтобы база данных обеспечивала строгость (особенно NO_ZERO_DATE). Есть ли способ переопределить конфигурации на уровне сервера на уровне базы данных?

1 ответ

Вы можете изменить режим SQL сессией с:

SET SESSION sql_mode = 'modes';

Согласно документации:

Установка переменной SESSION влияет только на текущего клиента.

Это может быть обходной путь для решения вашей проблемы. Я думаю, что нет прямого способа установить режим SQL по базе данных.

Обратите внимание также:

Важный

Режим SQL и пользовательское разбиение. Изменение режима SQL сервера после создания и вставки данных в многораздельные таблицы может вызвать серьезные изменения в поведении таких таблиц и привести к потере или повреждению данных. Настоятельно рекомендуется никогда не менять режим SQL после создания таблиц, использующих пользовательское разбиение.

Возможно, более безопасный способ - использовать два экземпляра сервера MySQL.

Другие вопросы по тегам