Spec-Zone.ru › MySQL 8.4

A.3 MySQL 8.4 FAQ: Режим сервера SQL

A.3.1. Что такое режимы серверного SQL?
A.3.2. Сколько режимов серверного SQL существует?
A.3.3. Как определить режим серверного SQL?
A.3.4. Зависит ли режим от базы данных или соединения?
A.3.5. Можно ли расширить правила для строгого режима?
A.3.6. Влияет ли строгий режим на производительность?
A.3.7. Каков по умолчанию режим серверного SQL при установке MySQL 8.4?

A.3.1.

Что такое режимы серверного SQL?

Режимы серверного SQL определяют, какой синтаксис SQL должен поддерживать MySQL и какие проверки данных он должен выполнять. Это упрощает использование MySQL в различных средах и совместное использование MySQL с другими серверами баз данных. MySQL Server применяет эти режимы индивидуально для разных клиентов. Дополнительную информацию см. в Разделе 7.1.11, «Режимы серверного SQL».

A.3.2.

Сколько режимов серверного SQL существует?

Каждый режим может быть независимо включён или выключен. Полный список доступных режимов см. в Разделе 7.1.11, «Режимы серверного SQL».

A.3.3.

Как определить режим серверного SQL?

Вы можете установить режим SQL по умолчанию (для запуска mysqld) с помощью параметра --sql-mode. Используя оператор SET [GLOBAL|SESSION] sql_mode='modes', вы можете изменить настройки внутри соединения, либо локально для соединения, либо для глобального действия. Вы можете получить текущий режим, выполнив оператор SELECT @@sql_mode.

A.3.4.

Зависит ли режим от базы данных или соединения?

Режим не связан с конкретной базой данных. Режимы можно установить локально для сеанса (соединения) или глобально для сервера. Эти настройки можно изменить с помощью SET [GLOBAL|SESSION] sql_mode='modes'.

A.3.5.

Можно ли расширить правила для строгого режима?

Когда мы говорим о строгом режиме, мы имеем в виду режим, в котором включён хотя бы один из режимов TRADITIONAL, STRICT_TRANS_TABLES или STRICT_ALL_TABLES. Параметры могут быть объединены, так что вы можете добавить ограничения к режиму. Дополнительную информацию см. в Разделе 7.1.11, «Режимы серверного SQL».

A.3.6.

Влияет ли строгий режим на производительность?

Интенсивная проверка входных данных, требуемая некоторыми настройками, занимает больше времени, чем если проверка не выполняется. Хотя влияние на производительность не так велико, если такая проверка вам не нужна (возможно, ваше приложение уже обрабатывает всё это), MySQL предоставляет возможность отключить строгий режим. Однако, если вам это необходимо, строгий режим может обеспечить такую проверку.

A.3.7.

Каков по умолчанию режим серверного SQL при установке MySQL 8.4?

Режим SQL по умолчанию в MySQL 8.0 включает следующие режимы: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO и NO_ENGINE_SUBSTITUTION.

Дополнительную информацию обо всех доступных режимах и стандартном поведении MySQL см. в Разделе 7.1.11, «Режимы серверного SQL».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/faqs-sql-modes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API