mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。
错误提示:this is incompatible with sql_mode=only_full_group_by
1.查询数据库版本:
SELECT VERSION();
2.查看sql_mode的语句:
select @@GLOBAL.sql_mode;
3.临时解决方案:
去掉ONLY_FULL_GROUP_BY,重新设置值。
SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
4.永久解决方案:
Linux下修改mysql的my.cnf配置文件
vi /etc/my.cnf
找到my.cnf中的[mysqld]在下面增加:
5重启数据库文章来源:https://www.toymoban.com/news/detail-406143.html
service mysql restart文章来源地址https://www.toymoban.com/news/detail-406143.html
到了这里,关于MySQL错误sql_mode=only_full_group_by完美解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!