用这个表做测试
看里面的 word 已经做了 unique 的限制了,执行下面的语句:
insert ignore into words(word) values('test');
insert ignore into words(word) values('test '); /* 右边加空格 */
insert ignore into words(word) values(' test'); /* 左边加空格 */
看看结果,select * from words;
2 | [test]
1 | [ test]
[] 加上来是为了更好看清空格的
insert 的结果是第二条没插入表内
再测试 select,
select * from words where word = 'test';
select * from words where word = 'test '; /* 右边加空格 */
这两句的结果是一样的。
结论
MySql 会对右侧的空格自行处理。