在 MySQL 中,CHAR 类型会自动补齐空格。当你插入一个短于定义长度的字符串时,MySQL 会用空格填充到指定的长度。

例如,如果你定义一个 CHAR(10) 字段,并插入一个长度为 5 的字符串,MySQL 会将其存储为 “XXXXX     ”(后面有 5 个空格)。

这种行为与 VARCHAR 类型不同,后者不会补齐空格,而是根据实际长度存储字符串。

需要注意的是,从 CHAR 字段读取数据时,空格会被自动去除。但是这点在国产数据库达梦里,空格会被查询出来。