解决Thinkphp6 中使用 MySQL5.7 group by问题this is incompatible with sql_mode=only_full_group_by
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'tp6shop.tp_product.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
在使用tp6框架的时候,数据库环境是mysql5.7,发现上面那个错误,也就是高版本MySQL报错问题。
解决方法有两种:
1、修改my.cnf(windows下是my.ini)配置文件,删掉only_full_group_by这一项
2、在不修改MySQL配置文件的情况下,需要修改sql语句来执行。
group by后面的列名,还是和以前一样通过select直接获取,而对于select中获取非group by的信息,则要通过any_value()函数。