您的位置:首页 > 数据库 > MySQL

mysql 1055错误的解决办法 【MYSQL5.7版本sql_mode=only_full_group_by问题】

2017-06-26 00:00 761 查看
摘要: MYSQL5.7版本sql_mode=only_full_group_by问题

Err1055,出现这个问题往往是在执行sql语句时候,在最后一行会出现这个问题。

?

1
2
3
[Err] 1055 - Expression #1
of
ORDER
BY
clause
is
not
in
GROUP
BY
clause
and
contains
nonaggregated
column

'information_schema.PROFILING.SEQ'
which
is
not
functionally dependent
on
columns
in
GROUP
BY
clause;

this
is
incompatible
with
sql_mode=only_full_group_by

解决方法:

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';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

或者

MYSQL5.7版本sql_mode=only_full_group_by问题

具体出错提示:

[Err] 1055 - Expression #1of ORDER BY clauseis not in GROUP BY clauseand contains nonaggregatedcolumn 'information_schema.PROFILING.SEQ' whichis not functionally dependenton columnsin GROUP BY clause;thisis incompatiblewith sql_mode=only_full_group_by

1、查看sql_mode

select @@[code=plain]global
.sql_mode[/code]
查询出来的值为:

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

2、去掉ONLY_FULL_GROUP_BY,重新设置值。

set @@[code=plain]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';[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL