如何解决MySQL-this is incompatible with sql_mode=only_full_group_by错误

这篇文章主要讲解了“如何解决MySQL-this is incompatible with sql_mode=only_full_group_by错误”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决MySQL-this is incompatible with sql_mode=only_full_group_by错误”吧!

是因为sql写的不严格,在group by 里没有的字段,select 使用了 。

通过配置sql_mode 来解决

select @@GLOBAL.sql_mode;

       这个错误发生在mysql 5.7 版本及以上版本会出现的问题:

       mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。

       很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。

把 ONLY_FULL_GROUP_BY去掉就OK了。 

vi  /etc/mysql/mysql.conf.d/mysqld.cnf

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-this is incompatible with sql_mode=only_full_group_by错误”的内容了,经过本文的学习后,相信大家对如何解决MySQL-this is incompatible with sql_mode=only_full_group_by错误这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!