后端开发 返回

  • MySql5.7 Distinct与Order By同时使用报错的解决方案

    • 发布人:peadmin
  •  mysql5.7版本中,如果DISTINCTorder by一起使用将会报3065错误,sql语句无法执行。这是由于5.7版本语法比之前版本语法要求更加严格导致的。

    解决方案:

    1、vim /etc/my.cnf

    2、如果没有sql_mode配置,则添加

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    3、如果已有sql_mode配置,务必删除ONLY_FULL_GROUP_BY这一项

    4、我的sql_mode设置:

    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
    5、重启mysql服务:
    
    service mysqld restart
  • 2019-09-09