Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql5.7 报错1055怎么办

作者:Cold—blooded凉薄   发布日期:2024-10-09   浏览:621

MySQL 5.7错误1055通常是由于在查询中使用了GROUP BY子句,但未将所有非聚合列包含在GROUP BY子句中引起的。在MySQL 5.7中,如果查询中使用了GROUP BY子句,则必须将所有非聚合列包含在GROUP BY子句中,否则会报错。

要解决这个问题,你可以采取以下几种方法:

  1. 将所有非聚合列添加到GROUP BY子句中:将查询中的所有非聚合列都添加到GROUP BY子句中,以满足MySQL 5.7的要求。

  2. 使用聚合函数:如果你不需要返回每个非聚合列的具体值,可以考虑使用聚合函数,如MAX()或MIN(),将非聚合列聚合起来。

  3. 使用ONLY_FULL_GROUP_BY模式:MySQL 5.7默认启用了ONLY_FULL_GROUP_BY模式,该模式要求所有非聚合列都必须包含在GROUP BY子句中。如果你想要恢复到以前的行为,可以禁用ONLY_FULL_GROUP_BY模式。在MySQL配置文件中的[mysqld]部分添加以下行:

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

然后重新启动MySQL服务器。

请注意,禁用ONLY_FULL_GROUP_BY模式可能会导致查询结果不准确,因此在使用之前请确保你了解其影响。

希望以上解决方案能帮助你解决MySQL 5.7错误1055的问题。

上一篇:如何解决找不到mysql驱动jar包的问题

下一篇:怎么启动mysql

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站