出现这个问题的原因是MySQL5.7.x版本对sql语法限制比较严格,select后面出现的字段只能是group by分组后的字段或者聚合函数中的字段。目前没法去一一修改sql查询语句,只能采取关闭 ONLY_FULL_GROUP_BY 这种快捷治标不治本的方式来处理。
//查询sql_mode
select @@global.sql_mode;
//设置
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';
以上sql命令在数据中执行即可,也可以修改mysql配置文件my.ini,在[mysqld]后面增加以下配置。
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
发表回复
要发表评论,您必须先登录。