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

 

相关文章:

  • 2022-02-09
  • 2021-11-10
  • 2021-12-08
  • 2021-11-18
  • 2021-12-05
  • 2022-12-23
猜你喜欢
  • 2021-05-31
  • 2021-06-20
  • 2022-12-23
  • 2021-10-06
  • 2022-12-23
  • 2022-12-23
  • 2021-10-22
相关资源
相似解决方案