为了账号安全,请及时绑定邮箱和手机立即绑定

根据条件索引出问题(如图跟视频里面一字不差结果报错)

http://img1.sycdn.imooc.com//5e8c11b80001952d10680076.jpg

第一个 我跟着视频一模一样打印报错 永远报错 好像select只能选择一个 其他表全选都没事,我一更改选择顺序马上就好了。为什么

因为视频录制老师不够严谨 没有考虑到这些小问题

http://img1.sycdn.imooc.com//5e8c11b800011cff09850497.jpg


正在回答

3 回答

永久的解决办法:

1.原因:sql_mode的值中含有ONLY_FULL_GROUP_BY

http://img1.sycdn.imooc.com//5ef300ef00012b6609860135.jpg

2.解决:修改mysql的配置文件my.ini,或在my.ini中添加如下行(将ONLY_FULL_GROUP_BY删掉即可)

http://img1.sycdn.imooc.com//5ef3018a0001d88808680043.jpg

保存,重启即可。


0 回复 有任何疑惑可以回复我~

select列要包含在group by中,或者聚合函数中。前者需要该配置,后者事例如下:

DELETE t1 FROM tdb_goods t1 INNER JOIN (
    SELECT MIN(goods_id) AS goods_id, goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name) >= 2) t2 ON t1.goods_name = t2.goods_name 
WHERE t1.goods_id > t2.goods_id;


1 回复 有任何疑惑可以回复我~

这个问题要改数据库配置的,group by的条件必须和查询结果顺序一致,也就是说你后边只可以写,group by id 或者 group by id,name ,否则的话会报语法错误。

你去网上搜一下err1055,应该有临时解决方法,也有永久解决方法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

根据条件索引出问题(如图跟视频里面一字不差结果报错)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信