关于TIDB的SQL_MODE的问题

【 TiDB 使用环境】生产环境 (预生产)
【 TiDB 版本】 6.1.5

【资源配置】
3台TIDB/PD ,8台TIKV,32C/64GB/1.5TB(SSD),万兆网

今天用TIDB查询语句,出现以下情况:
SELECT list is not in GROUP BY clause and contains nonaggregated column ‘xxx.xxx.xxx’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

首先,我承认这个语句(一大批)是不标准的,是以前开发的同事开发,在3.X版本上没有问题,如果强行让他们修改全部业务逻辑的话,需要很久的时间,我们边可以边上线边督促同事修改语句。

其次,我看了一下6.1.5的sql_mode和3.1.15的sql_mode 分别是O和S

我想咨询两个问题:

1.sql_mode的O和S分别代表什么意思?这一点在官网上没有找到。
2.我怎么关闭SQL_MODE?因为我的TIDB是做为MYSQL的同步只读库,不需要很多强制的限制。
谢谢各位老师。

不推荐关闭,改 SQL。
如果无所谓就改吧,set global sql_mode 就行

这个随便改,跟MySQL一样的,改全局变量的方式改就行

好的,谢谢您。

谢谢您。

mysql也有一样的问题,SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,‘ONLY_FULL_GROUP_BY’,‘’)); 关闭无所谓