MySQL 5.7版本sql_mode=only_full_group_by问题

MySQL 5.7中only_full_group_by这个模式是默认开启mysql

 

解决方法一:执行SET GLOBAL sql_mode = ''; 把sql_mode 改为非only_full_group_by模式。验证是否生效 SELECT @@GLOBAL.sql_mode 或 SELECT @@sql_modesql

 或Mysql控制台执行session

mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

转自:https://stackoverflow.com/questions/37619417/mysql5-7-upgrade-issue-group-by-incompatible-with-sql-mode-only-full-group-by函数

 

解决方法二:在my.cnf(mysql配置文件里),添加spa

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

  

解决方法三:在sql查询语句中不须要group by的字段上使用any_value()函数 code

相关文章
相关标签/搜索