我在 Mac 上,使用 MySQL 工作台,它告诉我 my.cnf 文件的位置在 /etc/ 中,我正在编辑它。我使用 chmod aw 设置了该文件的权限。
在那个 my.cnf 文件中,我有以下内容:
sql模式=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
这就是我想要的。但是,在重新启动 MySQL 并登录到它的命令行后,我得到了这个:
mysql> 选择@@sql_mode;
| @@sql_mode |
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
一组中的 1 行(0.00 秒)
正在添加其他模式。如果我运行以下(但不是持久的)命令: set global sql_mode= NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
;
这就是我在控制台上看到的:mysql> SELECT @@sql_mode;
| @@sql_mode |
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
正是我想要的。
谁能向我解释如何/为什么要添加这些额外的、不需要的 sql 模式?和/或我如何才能让这两种模式在没有其他模式的情况下持续存在?