windows关闭MySQL的only_full_group_by
时间: 2023-09-20 19:13:53 浏览: 157
要关闭MySQL的only_full_group_by模式,请按照以下步骤进行操作:
1. 打开MySQL控制台或者使用MySQL客户端连接到MySQL服务器。
2. 运行以下命令来查看only_full_group_by的状态:
```
SELECT @@sql_mode;
```
3. 如果返回结果中包含了"ONLY_FULL_GROUP_BY",则只能使用完全相同的SELECT列表中的列进行分组,并且任何非聚合列必须在GROUP BY子句中列出。如果您想关闭only_full_group_by模式,请继续执行下一步。
4. 执行以下命令来修改MySQL的sql_mode参数:
```
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
```
这将从当前的sql_mode中删除ONLY_FULL_GROUP_BY选项,并将其设置为全局变量。如果您想在当前会话中关闭only_full_group_by模式,则可以执行以下命令:
```
SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
```
5. 检查sql_mode参数是否已经修改。运行以下命令来查看新的sql_mode值:
```
SELECT @@sql_mode;
```
现在,only_full_group_by模式已经关闭了。如果您想重新启用它,请执行以下命令:
```
SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));
```
或者在当前会话中执行以下命令:
```
SET SESSION sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));
```
阅读全文