📅  最后修改于: 2023-12-03 15:12:08.064000             🧑  作者: Mango
sql_mode
在 Ubuntu
系统中,我们可以通过设置全局 sql_mode
变量来控制 MySQL
数据库的行为。 sql_mode
主要控制着 MySQL
数据库的语法和数据校验规则等方面的内容。
sql_mode
变量为了设置全局 sql_mode
变量,我们需要登录到 MySQL
数据库服务器后,使用以下命令来设置:
SET GLOBAL sql_mode = 'modes';
其中,modes
是一个由逗号分隔的字符串列表,用于定义要启用的 MySQL
数据库模式。
例如,以下命令将开启严格模式和禁止使用 GROUP BY
语句时不使用 HAVING
子句的限制:
SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
sql_mode
变量如果你希望在重启数据库服务器后仍然保留 sql_mode
变量的设置,那么你需要将它添加到 my.cnf
配置文件中。
首先,使用以下命令打开 my.cnf
配置文件:
sudo nano /etc/mysql/my.cnf
将以下行添加到文件的末尾:
[mysqld]
sql_mode = modes
请在其中指定你所需的 modes
。
保存并退出 my.cnf
文件。
最后,重新启动 MySQL
服务以使更改生效。
现在,你已经成功地将永久设置全局 sql_mode
变量。