【问题分类】功能使用

【关键字】char,char(1)

【问题描述】MySQL迁移至崖山环境,字段类型源端和目标端都为char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格

【问题原因分析】mysql有sql_mode控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。

#查看sql_mode
mysql> SHOW VARIABLES LIKE 'sql_mode';

【解决/规避方法】与应用确认存储的数据,正确定义数据类型和长度,崖山环境可以把char类型改成varchar类型存储,规避补空格问题。

【影响范围】所有版本


YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...