Mysql set_mode 问题
- 首先,我自己遇到的问题是:在项目中前端界面查询数据库,发现无法取得数据。
前端界面报错如下:
Uncaught SyntaxError: Unexpected token o in JSON at position 1—
后台则是出现如下的错误:
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
2、问题说明
报错的sql语句如上,后面查找资料发现Mysql的版本有关,我用的是8.0.13版的,同事的5.0版本的可以正常执行。
3、锁定症状——Mysql 之 sql_mode修改
输入如下代码,可以看到我们的sql_mode是这样的
select @@global.sql_mode;
问题的关键在于 only_full_group_by,通过修改问题得到解决。
4、解决问题
继续输入
set @@global.sql_mode=(select replace(@@global.sql_mode,'ONLY_FULL_GROUP_BY',''));
可以发现,sql_mode已经改变,
此时,原先报错的sql已经可以执行了。