mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY
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 = '48349' 受影响的行: 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中也需要做修改,以便重启数据库时,生效。