MySQL在检索时从 CHAR
列删除了尾部的空格
这是之前从来没有注意到过的一个描述!
看代码:
USE `test`;
DROP TABLE IF EXISTS `vc`;
CREATE TABLE vc(
`id` int UNSIGNED AUTO_INCREMENT,
`v` VARCHAR(4),
`c` CHAR(4),
PRIMARY KEY(id)
) ENGINE=InnoDB;
INSERT INTO vc(v,c)
VALUES('ab ', 'ab ') -- 后面有2个空格
,(' ab ', ' ab ') -- 左右各一个空格
,('', ''); -- 空字符串
SELECT v, length(v) AS len_v, c, length(c) AS len_c FROM vc;
执行的结果是:
这里看到的char的内容及其长度都是去掉了尾部的所有的空格!
但是在mysql的文件存储中, 保存的结果其实是一样的:
具体的原因, 待查....