MySQL 5.7.8rc Ubuntu 14.04
我修改了my.cnf来添加这一行:
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
因为我不想只是消灭所有的模式。
MySQL已经重新启动。
mysql> select @@ sql_mode; 返回: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在我退出并重新启动的SQL客户端(Navicat)中,在该连接上select@@ sql_mode也返回上面的内容。
不过,我仍然得到这个错误:
MySQL 5.7无法更新目标:在没有GROUP BY的聚合查询中,这与sql_mode = only_full_group_by不兼容
我看不出这是怎么可能的。
经过几个小时的头部划伤,重新启动等,我发现的唯一解决scheme( 通过试图真正的方法扔垃圾墙壁,看它是否坚持 )是导出数据库架构和数据( 我做了这些分开,这可能没有关系 ),删除数据库,重新创build它,然后重新导入数据。 现在我没有任何投诉。 是的,我证实了新的模式是相同的。
真的很高兴知道实际的交易是什么,因为当前的连接说,一个模式明确地没有启用,但抛出一个错误,指示该模式启用,这是相当令人不安,没有一个体面的解释。