后端开发 返回
-
MySql5.7 Distinct与Order By同时使用报错的解决方案
-
mysql5.7
版本中,如果DISTINCT
和order 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
-