sql_mode=NO_ENGINE_SUBSTITUTION
今天在测试库上发现使用GROUP BY 报错,我使用的mysql5.7 html
ONLY_FULL_GROUP_BY
对于GROUP BY聚合操做,若是在SELECT中的列、HAVING或者ORDER BY子句的列,没有在GROUP BY中出现,那么这个SQL是不合法的。是能够理解的,由于不在 group by 的列查出来展现会有矛盾。
在5.7中默认启用ONLY_FULL_GROUP_BY
而不是sql_mode=NO_ENGINE_SUBSTITUTION,因此在5.6升级到5.7的过程须要注意。mysql
一些小坑的配置都在sql_mode 必定要了解本身使用的版本对应的配置sql
参考文档:https://segmentfault.com/a/1190000005936172segmentfault
官方文档:https://dev.mysql.com/doc/refman/5.6/en/sql-mode.html测试
记一个新数据迁移的sqlcode
INSERT INTO 库A.表A ( 表A.`id`, 表A.`name`) ( SELECT 表B.`number`, 表B.`title` FROM 库B.表B )