很抱歉,如果这是重复的,但我不知道如何找到问题。
嗨,这是我的表:
CREATE TABLE `log_Valor` (
`idLog_Valor` int(11) NOT NULL AUTO_INCREMENT,
`Valor` text binary NOT NULL,
PRIMARY KEY (`idLog_Valor`)
)
ENGINE=InnoDB;
INSERT INTO `log_Valor` (Valor) VALUES ('teste');
INSERT INTO `log_Valor` (Valor) VALUES ('teste ');
我有两行:
1 | 'teste'
2 | 'teste '
当我跑步时:
SELECT * FROM log_Valor where valor = 'teste'
返回两行。
如何在不必在查询BINARY中指定的情况下使默认比较区分大小写并且不进行修剪?
答案 0 :(得分:0)
使用LIKE
代替=
。
SELECT * FROM log_Valor WHERE valor LIKE 'teste';
特别是,尾随空格很重要,对于使用=运算符执行的CHAR或VARCHAR比较不适用