MYSQL升级后GROUP BY语句出错解决方法
2017-08-20 00:11
218 查看
引言
解决
查询mysql服务器版本
查看sql_mode
修改sql_mode
参考
报错:
升级MYSQL5.7是为了更好的性能,据我猜测,MYSQL5.7对sql_mode的限制,也是为了更好的查询性能。所以如果在开发阶段,如果要使用mysql5.7版本建议大家阅读一下5.7的文档,然后将自己的sql写的更严谨,尽量少用select * ,只查出自己想要的数据列即可。
mysql 5.6,居然可以不像oracle那样,group by中的列一定要出现在select中,除非强制sqlmode中使用ONLY_FULL_GROUP_BY,但5.7中好像默认使用ONLY_FULL_GROUP_BY了
或
MYSQL升级5.7.10后GROUP BY语句出错解决方法
[mysql] Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘loser.tank_admin.login_ip’ which is not functionally dependent on columns in GROUP BY clause; this is
解决
查询mysql服务器版本
查看sql_mode
修改sql_mode
参考
引言
实践Qt+MySQL的小项目《餐饮信息服务系统》中,使用select cid,cname,count(fname) from foodorder.orderlist group by cid
报错:
数据库查询出错:Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'foodorder.orderlist.cname' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by QMYSQL: Unable to execute query
解决
MySQL 5.7默认的SQL mode包含如下:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION。
升级MYSQL5.7是为了更好的性能,据我猜测,MYSQL5.7对sql_mode的限制,也是为了更好的查询性能。所以如果在开发阶段,如果要使用mysql5.7版本建议大家阅读一下5.7的文档,然后将自己的sql写的更严谨,尽量少用select * ,只查出自己想要的数据列即可。
mysql 5.6,居然可以不像oracle那样,group by中的列一定要出现在select中,除非强制sqlmode中使用ONLY_FULL_GROUP_BY,但5.7中好像默认使用ONLY_FULL_GROUP_BY了
查询mysql服务器版本
select @@version;
查看sql_mode
SELECT @@sql_mode; select @@GLOBAL.sql_mode; select @@SESSION.sql_mode;
修改sql_mode
SET GLOBAL sql_mode = '';
或
set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
参考
禁用ONLY_FULL_GROUP_BYMYSQL升级5.7.10后GROUP BY语句出错解决方法
[mysql] Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘loser.tank_admin.login_ip’ which is not functionally dependent on columns in GROUP BY clause; this is
相关文章推荐
- MYSQL升级5.7.10后GROUP BY语句出错解决方法
- MYSQL升级到5.7中的后GROUP BY语句出错解决方法
- mysql编译出错的解决方法
- mysql 安装时的第三第四步出错解决方法
- MySQL重装出错解决方法
- MySql安装出错解决方法!
- mysql重新安装后出错的解决方法
- ubuntu12.04 修改mysql配置文件my.cnf编码出错---解决方法
- MySQL重装出错解决方法
- MySQL重装出错解决方法
- Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]
- 关于MySQL5.5不能执行带有中文字符的语句解决方法
- MySQL启动出错的解决方法
- PHP执行批量mysql语句的解决方法
- linux下fedora 15 16安装mysql出错以及解决方法
- phpmyadmin与mysql更改密码出错解决方法
- mysql 5.5.15编码导致数据库中写入汉字出错的解决方法
- mysql 主从复制同步时出错解决方法
- mysql查找语句中包含中文字符时查询失效的问题及解决方法
- #include " mysql.h " 出错解决方法之一