Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  MySQL 8.3 Frequently Asked Questions  /  MySQL 8.3 FAQ: Server SQL Mode

A.3 MySQL 8.3 FAQ: Server SQL Mode

A.3.1. 服务器 SQL 模式是什么?
A.3.2. 有多少服务器 SQL 模式?
A.3.3. 如何确定服务器 SQL 模式?
A.3.4. 模式是否依赖于数据库或连接?
A.3.5. 严格模式的规则可以扩展吗?
A.3.6. 严格模式是否影响性能?
A.3.7. 安装 MySQL 8.3 时的默认服务器 SQL 模式是什么?
(No translation needed, as this is just HTML code without any translatable text.)

A.3.1.

服务器SQL模式是什么?

服务器SQL模式定义了MySQL应该支持的SQL语法和执行的数据验证检查。这使得在不同的环境中使用MySQL变得更容易,并且可以与其他数据库服务器一起使用。MySQL服务器将这些模式单独应用于不同的客户端。有关更多信息,请参阅第7.1.11节,“服务器SQL模式”

A.3.2.

有多少服务器SQL模式?

每个模式可以独立地打开和关闭。请参阅第7.1.11节,“服务器SQL模式”,以获取可用模式的完整列表。

A.3.3.

如何确定服务器SQL模式?

您可以使用mysqld启动时的默认SQL模式--sql-mode选项。在连接中,您可以使用SET [GLOBAL|SESSION] sql_mode='modes'语句更改设置。您可以通过发出SELECT @@sql_mode语句来检索当前模式。

A.3.4.

模式是否依赖于数据库或连接?

模式不链接到特定的数据库。模式可以设置为会话(连接)或全局服务器。您可以使用SET [GLOBAL|SESSION] sql_mode='modes'更改这些设置。

A.3.5.

可以扩展严格模式的规则吗?

当我们提到严格模式时,我们指的是至少启用了TRADITIONALSTRICT_TRANS_TABLESSTRICT_ALL_TABLES其中一种模式。选项可以组合,因此您可以添加限制到模式中。请参阅第7.1.11节,“服务器SQL模式”,以获取更多信息。

A.3.6.

严格模式是否影响性能?

某些设置需要对输入数据进行强烈验证,这需要更多时间。如果您不需要这种验证(也许您的应用程序已经处理了所有这些),那么MySQL提供了禁用严格模式的选项。但是,如果您需要这种验证,严格模式可以提供这种验证。

A.3.7.

安装MySQL 8.3时的默认服务器SQL模式是什么?

MySQL 8.0 的默认 SQL 模式包括这些模式:ONLY_FULL_GROUP_BYSTRICT_TRANS_TABLESNO_ZERO_IN_DATENO_ZERO_DATEERROR_FOR_DIVISION_BY_ZERONO_ENGINE_SUBSTITUTION

有关所有可用模式和默认 MySQL 行为的信息,请参阅 第 7.1.11 节,“服务器 SQL 模式”