为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:5.7.25-TiDB-v3.0.12
- 【问题描述】:sql_mode 设置没成功
刚刚在 新建的 TIDB 集群环境(使用docker 创建测试) 建表;发现报错 SQL_MODE,报错如下:
module49_a
int(11) DEFAULT NULL,
module49_b
int(11) DEFAULT NULL,
module50_a
int(11) DEF
受影响的行: 0
时间: 0.063s
[Err] 1055 - Expression #1 of ORDER BY is not in GROUP BY clause and contains nonaggregated column ‘’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
查看了一下官网 和ASKTUG 上资料 ,语句配置:
1.1.22 sql_mode 默认除了通过命令 set 修改,配置文件怎么修改?
TiDB 的 sql_mode 与 MySQL 的 sql_mode 设置方法有一些差别,TiDB 不支持配置文件配置设置数据库的 sql_mode,而只能使用 set 命令去设置,具体方法为: set @@global.sql_mode = 'STRICT_TRANS_TABLES';
。
但我操作过程中貌似没生效:
mysql> set @@global.sql_mode = ‘STRICT_TRANS_TABLES’; Query OK, 0 rows affected
mysql> flush privileges; Query OK, 0 rows affected
mysql> mysql> mysql> select version(), @@sql_mode; ±--------------------±-----------+ | version() | @@sql_mode | ±--------------------±-----------+ | 5.7.25-TiDB-v3.0.12 | | ±--------------------±-----------+ 1 row in set
mysql> mysql>
想问一下,具体是如何设置 sql_mode ;