抱歉,如果此问题重复,但我不知道如何查找该问题。
嗨,这是我的 table :
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 ');
我有 2 行:
1 | 'teste'
2 | 'teste '
当我运行时:
SELECT * FROM log_Valor where valor = 'teste'
它返回两行。
如何使默认比较区分大小写并且在不必在查询 BINARY 中指定的情况下不修剪?
最佳答案
使用LIKE
而不是=
。
SELECT * FROM log_Valor WHERE valor LIKE 'teste';
In particular, trailing spaces are significant, which is not true for CHAR or VARCHAR comparisons performed with the = operator
关于mysql - 如何制作默认文本列,其中比较二进制(区分大小写和修剪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077083/