mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY
今天开发的同事发来如下错误信息,最最简单的一个update操作,竟然报了[Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY。
具体sql语句为:
[SQL]UPDATE draw_record
SET open_price = '6945.98',
buy_price = '7832.63',
sell_price = '7834.91',
is_draw = 1,
draw_time = '2018-04-13 14:18:16'
WHERE
draw_id = '' 受影响的行: 0
时间: 0.001s [Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY # 解决方法:经过查找资料
mysql版本为: Server version: 5.6.38-log MySQL Community Server (GPL),这里其实高版本都有类似的问题。
因为低版本的时候,大家都习惯宽松的限制少的mysql,用起来也没觉得问题多,反而高版本的有问题,因而抵制使用高版本(悲剧了)
本人在安装的时候,my.cnf文件配置中使用了严格的模式(到现在不知道为什么需要这个限制,总之,先解决问题再说)
# 这里去掉,ONLY_FULL_GROUP_BY
#sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,ONLY_FULL_GROUP_BY" [root@localhost][(none)]> set global sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER";
Query OK, 0 rows affected (0.00 sec) 备注:在my.cnf中也需要做修改,以便重启数据库时,生效。