MySQL报[Err] 1055错误的解决方案

1674983042811.png

错误原因

在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。

解决方法

临时解决

1.在MySQL下执行select @@sql_mode;语句

2.将查询的值内容去除ONLY_FULL_GROUP_BY,并复制

3.根据情况,执行语句

#只在当前会话窗口生效
set sql_mode ='{第二步中复制的值}'
#只在当前服务生效(重启后生效)
set global sql_mode ='{第二步中复制的值}'
#示例
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set global sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

永久解决

此处内容需要评论回复后方可阅读

打赏
评论区
头像
文章目录