美文网首页
Thinkphp+mysql5.7之group报错

Thinkphp+mysql5.7之group报错

作者: RocaLee | 来源:发表于2018-12-21 17:19 被阅读0次

    在本地的完美程序,跑到服务器上去,居然报错了。
    查找了好一会才知道是mysql5.7版本的group by 错误。
    也难怪了,本地mysql是5.6的。
    mysql 5.7 模式中。默认启用了ONLY_FULL_GROUP_BY。
    解决方法有以下几种:

    1、修改配置文件,删掉only_full_group_by
    2、使用any_value()函数
    因为我不想修改配置文件,再加上需要修改的地方特别少,我就用了any_value()函数
    在不需要group by 的字段加上any_value()

    $all_culture = Db::table('culture')->field('any_value(id) as id,any_value(title) as title,slug,any_value(display_order) as display_order,any_value(is_live) as is_live,any_value(created_at) as created_at,any_value(updated_at) as updated_at')->group('slug')->select();
    

    相关文章

      网友评论

          本文标题:Thinkphp+mysql5.7之group报错

          本文链接:https://www.haomeiwen.com/subject/lelvkqtx.html