Qiuchi
(Ti D Ber T Hwl2t Uf)
1
【 TiDB 使用环境】测试
【 TiDB 版本】6.1.0
【复现路径】
show variables like 'sql_mode';
Variable_name |
Value |
sql_mode |
STRICT_TRANS_TABLES |
set global sql_mode = 'ORACLE';
重新连接TiDB
show variables like 'sql_mode';
Variable_name |
Value |
sql_mode |
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,ORACLE,STRICT_TRANS_TABLES |
发现 STRICT_TRANS_TABLES
仍处于配置中
【遇到的问题:问题现象及影响】
无法移除 STRICT_TRANS_TABLES
,导致不能自动裁剪数值精度
SHOW GLOBAL VARIABLES LIKE ‘sql_mode’;看看
Qiuchi
(Ti D Ber T Hwl2t Uf)
3
set global sql_mode = 'ORACLE';
重新连接 TiDB
show variables like 'sql_mode';
Variable_name |
Value |
sql_mode |
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,ORACLE,STRICT_TRANS_TABLES |
show global variables like 'sql_mode';
Variable_name |
Value |
sql_mode |
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,ORACLE |
为什么 session 里面的最后面会有 STRICT_TRANS_TABLES
但是 global 里面没有。。
Qiuchi
(Ti D Ber T Hwl2t Uf)
5
刚刚解决了,原因是因为我们用的JDBC,会自动添加 STRICT_TRANS_TABLES
至 SQL_MODE
MySQL Bugs: #23371: Automatic append of STRICT_TRANS_TABLES to the sql_mode.
需要设置 JDBC URL 参数 jdbcCompliantTruncation=false
system
(system)
关闭
7
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。