在MySQL5.7之后,sql_mode 默认会有 ONLY_FULL_GROUP_BY

SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错

此参数 ( ONLY_FULL_GROUP_BY ) 要求select, insert,update, delete 等语句中查询出来的列必须是明确的

解决办法:

  1. 执行SQL语句


  2. SELECT @@sql_mode

2.得到查询结果:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3.复制查询结果, 并去掉 ONLY_FULL_GROUP_BY, 在 my.ini 中 [mysqld] 块写入:



sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
4.重启MySQL, 完成.

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:《升级到 MySQL5.7+后进入MySQL后台 #1055错误的解决办法》发布于2020-07-09 15:30:14