如何在 MySQL 中启用严格的 sql_mode
我想从SQL提取数据并在strict模式下对其进行处理。
我目前的 sql_mode 是:

mysql> SELECT @@sql_mode;
+------------------------+
| @@sql_mode             |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+

最佳答案

您基本上有两种方法,使用 SQL 命令或更改配置文件。如果您使用 SQL 命令设置它 - 它会在服务器重新启动后变回。

在 SQL 中执行此操作:
SET GLOBAL sql_mode='STRICT_TRANS_TABLES';
在配置文件中执行:
[mysqld]sql_mode="STRICT_TRANS_TABLES"
文件位置因您的操作系统而异,更多关于在此处找到它的位置:https://dev.mysql.com/doc/refman/5.7/en/option-files.html

需要注意的是,您可以指定多种模式:
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
这在使用 SQL 语句时尤其重要,因为它可以覆盖整个模式字符串。

更多关于 SQL 模式的内容在这里:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

10-08 02:42