1.错误分析以及原因
1.1.sql_mode
sql_mode 是数据库规范校验规则,比如这里的sql_mode=only_full_group_by 就是一个校验规则,会规定分组查询结果集不能有GROUP BY中没有出现的列。
1.2.问题原因
mysql 5.7.5 版本及以上版本会出现,mysql 5.7.5版本以上默认的 sql_mode 是包含 only_full_group_by ,这个配置严格执行了"SQL92标准"。
2.linux处理方法
1.打开etc/my.cnfvim etc/my.cnf2.在文件中添加以下内容:
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'3.然后重启mysqlsystemctl stop mysqldsystemctl start mysqld