我是mysql的新手...我有一个表'table1',其中'item_no'列是bigint(20)。当我尝试根据item_no从表中选择特定行时,它不会返回确切的行。相反,它返回一组与前几个字符匹配的行。为什么会这样,我的查询应该如何获得确切的行。
table1
----------
item_no BIGINT(20) --> Primary key
value VARCHAR(40)
我的表格中的item_no有以下值
item_no value
----------
10000000161402118444 blah
10000000161402118613 blah
10000000161402118984 blah
10000000161402119080 blah
10000000161402119151 blah
10000000161402119275 blah
10000000161402119680 blah
10000000161402119866 blah
10000000161402119946 blah
这是我的查询
SELECT item_no FROM table1 WHERE item_no = 10000000161402119946
预期结果
item_no
----------
10000000161402119946
但是我的查询返回了以下内容:
item_no
----------
10000000161402119275
10000000161402119680
10000000161402119866
10000000161402119946
我无法弄明白......请帮帮我......
答案 0 :(得分:0)
您的号码超过了bigint limit。 如果你的字段是无符号的,那么它就可以工作。
create table biginttest2 (id bigint unsigned);