MYSQL 不能正确比较 big int(20)



我是新来的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);

最新更新