gpt4 book ai didi

MySQL:永久设置 sql_mode

转载 作者:IT老高 更新时间:2023-10-28 23:45:04 27 4
gpt4 key购买 nike

通过 MySQL 命令行客户端,我正在尝试设置全局 mysql_mode:

SET GLOBAL sql_mode = TRADITIONAL;

这适用于当前 session ,但在我重新启动服务器后,sql_mode 会恢复为默认值:'',一个空字符串。

如何将 sql_mode 永久设置为 TRADITIONAL?

如果相关,MySQL 是 WAMP 包的一部分。

谢谢。

最佳答案

MySQL sql_mode “TRADITIONAL”,又名“严格模式”,由 the MySQL docs 定义如:

“give an error instead of a warning” when inserting an incorrect value into a column.

以下是确保您的 sql_mode 设置为 "TRADITIONAL" 的方法。

首先,检查您的当前设置:

mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)

这返回空白,默认值,这很糟糕:您的 sql_mode 未设置为“TRADITIONAL”。

所以编辑配置文件:

sudo vim /etc/mysql/my.cnf

在标记为 [mysqld] 的部分中添加这一行:sql_mode="TRADITIONAL"(正如fancyPants 指出的那样)

然后重启服务器:

sudo service mysql restart

然后再次检查:

mysql
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

成功!你现在是金子了。

关于MySQL:永久设置 sql_mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20373532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com