解决MySql数据库报1055报错

MySql 5.7以上,sql_mode中的“only_full_group_by”是默认开启的,修改 sql_mode 参数即可。

1.如果是windows系统,则把 MySql 中的my.ini中的sql_mode配置项修改则可,把only_full_group_by项删除,如果是Linux则在my.cnf中

2.如果my.ini配置项中没有sql_mode项,通过sql语句修改

 查出sql_mode值

select @@sql_mode

 将查到的值去掉only_full_group_by项,将其他项添加到my.ini配置文件中

sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

my.ini中的配置项:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

修改完成后,重启一下mysql。

3.不修改任何配置文件,但给不需要分组的字段上加上any_value()函数

SELECT any_value(id),value FROM role group by value;

打赏

0 评论

发表评论