在user
表中,我有一个名为SeedNumber
的列,该列声明为INT(11)
。在MySQL数据库中,INT
总是由4个字节表示,括号中的数字11并不意味着INT值将被限制在11位上。This blog解释得很好。
以下是字段的MySQL声明:
通过使用字段SeedNumber
,我想获取用户。使用以下SQL查询:
SELECT * FROM user WHERE SeedNmb=99999617
在我的表中,值99999 617是当前最大值。此查询返回一个没有任何问题的用户,如下图所示:
最近注册了一个新用户,SeedNumber等于12561361。当我使用查询中的email列搜索新用户时,会得到以下结果:
select * from user where email like ("[email protected]");
结果如下:
但当我使用查询搜索用户时:
SELECT * FROM user WHERE SeedNmb=12561361
我没有任何结果,这是个问题。下图说明了我的问题:
似乎where子句不起作用,用户也不会作为结果返回。
值12 561×361不大于99×999 617,这是
SeedNmb
表中的当前最大值。任何帮助都将不胜感激。
最佳答案
你已经试过把数字放在引号之间了吗?
SELECT * FROM `user` WHERE `SeedNmb` = '12561361';
关于php - WHERE子句和INT(11)数据类型在MySQL中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26463270/