同样的一条复杂查询sql,在5.7版本的mysql中执行报错。在5.1版本缺能正常执行。
提示:…sql_mode=only_full_group_by
解决
1.此处解决后面创建的数据库的sql_mode
select @@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'
2.此处解决当前数据库sql_mode
若数据库已经创建好,并在开发中使用着。需要执行如下口令:
##切到具体数据库
use dbName;
select @@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'
3.如若上述2种方式依然未能解决,则设置全局变量
select @@GLOBAL.sql_mode;
set @@GLOBAL.sql_mode =’’;