我有一个用户表,其中有一个我想用作登录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/