laravel group by errors

网友投稿 962 2022-11-20

laravel group by errors

laravel group by errors

报错:

SQLSTATE[42000]: Syntax error or access violation: 1055 'demo.archives.id' isn't in GROUP BY (SQL: select `id`, `author`, count(*) as total from `archives` where `created_at` >= 2016-10-18 and `created_at` < 2016-10-19 group by `author`

原因可能有两个: 1、laravel的’config/database.php’:下面的mysql配置: ‘strict’ => true,这个使用的是严格模式,效果和distinct类似。把这里改为false即可; 2、如果做了第一步还是不行,那就说明是mysql的sql_mod设置也有设置,查看sql_mod:

select @@global.sql_mode;show variables like 'sql_mode%';

这两条语句可以查看mysql里面sql_mod的全局设置和当前客户端的sql_mode设置,看看里面是不是有一个only_full_group_by的东东? 把这个结果复制出来,去掉only_full_group_by之后,然后运行下面的语句。

set sql_mode="除去full_group_by之后的字符串";set @@global.sql_mode="除去full_group_by之后的字符串";

或者直接运行:

set sql_mode="TRADITIONAL";set @@global.sql_mode="TRADITIONAL";再次运行程序,是不是就可以了呢?

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HashMap详解
下一篇:二叉树递归迭代及morris层序前中后序遍历详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~