我是新来的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
And this my query
SELECT item_no FROM table1 WHERE item_no = 10000000161402119946
预期的结果
item_no
----------
10000000161402119946
但是我的查询返回以下内容:
item_no
----------
10000000161402119275
10000000161402119680
10000000161402119866
10000000161402119946
我想不明白…请帮帮我....
您的数字超过了bigint的限制。如果你让你的字段无符号,那么它将工作。
create table biginttest2 (id bigint unsigned);