执行SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));如何调回来
时间: 2024-02-05 16:03:39 浏览: 149
要将 MySQL 的 sql_mode 设置恢复成原来的值,可以执行以下命令:
```
SET sql_mode='原来的值';
```
其中,'原来的值' 是你在修改 sql_mode 属性之前设置的值,可以从 MySQL 的配置文件中查找到。如果不确定原来的值是什么,可以尝试使用以下命令:
```
SELECT @@sql_mode;
```
这将显示当前的 sql_mode 设置值。然后,将该值复制并用作恢复命令中的 '原来的值'。
相关问题
mysql 分组报错sql_mode=only_full_group_by
这是因为在 MySQL 5.7 版本以后默认启用了 ONLY_FULL_GROUP_BY 模式,该模式下分组查询的字段必须要么是分组字段本身,要么是使用聚合函数的字段。如果分组查询的字段既不是分组字段本身,也没有使用聚合函数,那么就会报错。
如果你想要取消 ONLY_FULL_GROUP_BY 模式,可以在 MySQL 配置文件中修改 sql_mode 的值,去掉其中的 ONLY_FULL_GROUP_BY。如果你不想修改全局配置,也可以在查询中使用如下语句来临时关闭该模式:
```
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
```
需要注意的是,关闭 ONLY_FULL_GROUP_BY 模式可能会导致一些不符合预期的查询结果,因此需要谨慎使用。
如何使用sql语句,修改sql_mode=only_full_group_by
要使用SQL语句修改sql_mode=only_full_group_by,可以按照以下步骤进行操作:
1. 首先,打开你的MySQL客户端,连接到你的数据库。
2. 运行以下SQL语句来查看当前的sql_mode设置:
```sql
SELECT @@sql_mode;
```
3. 确认是否包含了"only_full_group_by"选项。如果没有,那么不需要进行任何修改。如果有,继续下一步。
4. 运行以下SQL语句来修改sql_mode设置,移除"only_full_group_by"选项:
```sql
SET sql_mode=(SELECT REPLACE(@@sql_mode,'only_full_group_by',''));
```
5. 再次运行以下SQL语句来验证是否成功修改了sql_mode设置:
```sql
SELECT @@sql_mode;
```
6. 如果成功,你会发现"only_full_group_by"选项已经被移除了。
请注意,这种修改只对当前会话有效,重启数据库后会失效。如果你希望永久修改这个设置,你需要在MySQL配置文件中进行相应的修改。
阅读全文