MySQL错误SELECT list is not in GROUP BY clause and contains nonaggregated column解决”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/newmemory/article/details/84964617

MySQL报错如下:

Expression #12 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘shaogang.role_menu.role_menu_id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

相同的数据库,相同的工程,在本地就好使,但是传到服务器就不行,一开始以为是表和工程的问题,各种删,重建,结果发现不是!
转载博客,后来在这篇博客上发现了解决办法,实测方法1不好用,用方法2成功解决,完成部署!
说好像是因为MySQL版本的问题,可是我的MySQL本地版本和服务器版本都是MySQL5.7,然而不知道为啥不好使!
解决办法:

  1. 用vim打开mysql.cnf文件

sudo vim /etc/mysql/conf.d/mysql.cnf

  1. 滚动到文件底部赋值如下内容,然后保存并退出输入模式

[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

  1. 重启mysql服务器

sudo service mysql restart

总结:
遇到bug时,千万不要自以为是的去解决,一定要先仔细查看bug是什么,然后去网上找对应的有没有解决办法!

猜你喜欢

转载自blog.csdn.net/newmemory/article/details/84964617