【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题

【问题分类】功能使用

【关键字】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类型存储,规避补空格问题。

【影响范围】所有版本

posted @ 2024-12-16 18:37  YashanDB  阅读(38)  评论(0)    收藏  举报