gpt4 book ai didi

mysql - 如何让额外的空格影响我的 MySQL 查询结果?

转载 作者:行者123 更新时间:2023-11-29 12:23:21 27 4
gpt4 key购买 nike

我使用的是 MySQL 5.5.37。如果我在数据库上运行以下查询

select count(*) FROM user where user_name = 'admin';

我得到结果“3”。但是,当我执行查询时

select count(*) FROM user where user_name = 'admin     ';

,(注意“admin”一词后面的多余空格,我也得到了结果“3”。事实上,当我查看这些记录时,它们与第一个查询是相同的记录。但是,有我的数据库中没有 user_name 字段等于“admin”的记录。鉴于我此时无法升级我的 MySQL 数据库,我该怎么做才能确保第二个查询(带有额外的空格)返回正确的结果(即。 “0”)?

编辑: user_name 字段的类型为 varchar(50)。

最佳答案

我不能 100% 确定情况确实如此,但看起来您的 user_name 字段是 char(n) 字段,而不是 varchar(n)。

此类字段填充有空格以完全匹配字段的长度,而 varchar 是(我相信)以 null 结尾的字符串。

两个查询返回相同的答案,因为它们也用空格填充缺失的字符。

如果您希望查询正常工作,请考虑将列的类型更改为 varchar。

关于mysql - 如何让额外的空格影响我的 MySQL 查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28706667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com