Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘party.uc.

本人新手,最近在做一个公司项目时运行sql语句遇到一个错误
SQL语句:

SELECT
        uc.appraiser,uc.time,u.name
       FROM
        user_c uc JOIN user u ON uc.appraiser=u.userId
       WHERE
        uc.taile=#{taile} AND uc.userId=#{check}
        GROUP BY uc.appraiser

错误:
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘party.uc.time’ which is not functionally dependent on columns in GROUP BY clause
由于对错误不明了,特在此留下文章,防止以后忘记
原因:
由于我的项目是做好之后打包部署到服务器的,我的mysql版本是5.5,而服务器的mysql版本是5.0,可能导致了某些不兼容

解决方法参考

解决方法:
打开navcat,
用sql查询:

select @@global.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,
NO_ENGINE_SUBSTITUTION
去掉ONLY_FULL_GROUP_BY,重新设置值。
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'

还有第二种方法,此处并不推荐对我本人使用

vim /etc/mysql/conf.d/mysql.cnf
滚动到文件底部复制并粘贴

[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

到文件的底部
保存并退出输入模式
service mysql restart
重启MySQL。 

因为此方法要重启mysql,但是mysql在服务器,所以并不能随便重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小可乐-我一直在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值