如何永久修复MySQL提示:this is incompatible with sql_mode=only_full_group_by
时间: 2023-07-05 20:19:58 浏览: 262
要永久修复MySQL提示:this is incompatible with sql_mode=only_full_group_by,可以按照以下步骤进行设置:
1. 打开MySQL配置文件my.cnf,可以使用以下命令打开:
```
sudo nano /etc/mysql/my.cnf
```
2. 在[mysqld]下添加以下代码:
```
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
```
注意:这里的sql_mode可以根据实际情况进行修改。
3. 保存并关闭文件。
4. 重启MySQL服务:
```
sudo service mysql restart
```
这样就可以永久修复MySQL提示:this is incompatible with sql_mode=only_full_group_by。
相关问题
mysql 报错 : this is incompatible with sql_mode=only_full_group_by
这个问题出现的原因是 MySQL 的 sql_mode 模式设置了 only_full_group_by,这个模式要求 GROUP BY 语句中的每个列都必须出现在 SELECT 列表中,否则就会报错。解决这个问题的方法有两种:
1. 修改 sql_mode 模式,在 MySQL 配置文件中将只保留 STRICT_TRANS_TABLES,将其他的模式都去掉,重启 MySQL 服务即可。
2. 修改 SQL 语句,在 SELECT 列表中增加 GROUP BY 语句中所有的列,这样就符合了 only_full_group_by 模式的要求,就不会报错了。
mysql5.7 this is incompatible with sql_mode=only_full_group_by
在MySQL 5.7中,当执行查询语句时可能会出现"this is incompatible with sql_mode=only_full_group_by"的错误。这是由于MySQL 5.7默认启用了严格的sql_mode=only_full_group_by配置,按照SQL92标准要求,当使用GROUP BY语句时,必须包含所有查询的字段或者使用聚合函数。
为了兼容MySQL 5.7以下版本,有些旧的源码中没有按照此规则编写。因此,当执行这些旧的代码时就会出现该错误。
要解决这个问题,有以下几种方法:
1. 将查询中的所有字段都添加到GROUP BY子句中。这样做可以保证查询的合法性,但可能会导致结果不准确。
2. 使用聚合函数将其他字段进行聚合。例如,如果只需要对某个字段进行分组,可以使用SUM()、COUNT()或者其他合适的聚合函数对其他字段进行聚合。
3. 修改MySQL的sql_mode配置,将only_full_group_by从sql_mode中移除。这样可以恢复到较早版本的默认行为,但可能会引入其他潜在的问题。
需要注意的是,修改MySQL的配置需要具备管理员权限。可以通过修改my.cnf或者my.ini文件中的配置来实现。
总之,"this is incompatible with sql_mode=only_full_group_by"错误是由于MySQL 5.7中默认启用了严格的sql_mode=only_full_group_by配置所引起的。可以通过添加所有字段到GROUP BY子句,使用聚合函数对其他字段进行聚合,或者修改MySQL的sql_mode配置来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [this is incompatible with sql_mode=only_full_group_by解决方案](https://blog.csdn.net/weixin_43818327/article/details/125598187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [mysql 5.7 this is incompatible with sql_mode=only_full_group_by](https://blog.csdn.net/qq_37752382/article/details/113310996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [解决MySQL 5.7.9版本sql_mode=only_full_group_by问题](https://download.csdn.net/download/weixin_38697063/13699570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文