我有一个用户表,其中有一个我想用作登录ID的自动递增用户ID字段。 userid字段的格式为1,2,3,4,5,.. etc。

但是,当我执行如下选择语句时:

SELECT * FROM user WHERE userid='0001'


上面的语句向我返回了用户ID'1'的信息。无论我在“ 1”前面放多少“ 0”,我总是会得到用户ID“ 1”的记录

我是否可以知道仅当它与确切的用户ID匹配时才返回结果(即当我键入userid=1而不是userid=00000001)时返回用户ID为1的用户的记录吗?

很抱歉,如果我没有足够清楚地解释这一点。我正在尝试通过在线教程学习SQL,这真令人沮丧:(

最佳答案

如果ID是int,请使用它,也不要忘记在user后面加上反引号,因为它是保留关键字:

SELECT * FROM `user` WHERE userid=0001;


或这个:

SELECT * FROM `user` WHERE userid=1;


如前所述,您需要精确的ID记录。

关于mysql - 无论键入什么,MySQL都会返回我的结果! :(,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14672413/

10-14 12:49
查看更多