当没有重复时,Mysql返回'重复条目'

时间:2015-07-13 19:50:45

标签: mysql

奇怪的问题:

ERROR 1062: 1062: Duplicate entry '21474836476' for key 'twitterid'
SQL Statement:
INSERT INTO `database`.`wp_table` (`id`, `twitterid`) VALUES ('34', '33456305746')

即使我输入33456305746,它也认为我输入的是21474836476.现在这行已经存在,所以我尝试删除它并保存值为21474836476的行。如果我删除了唯一的要求,它会保存两行as 21474836476.任何人都知道这里发生了什么?

1 个答案:

答案 0 :(得分:4)

21474836476是(接近)integer的最大值,它是您字段的数据类型。

33456305746更大,数据库会将值截断为您之前已经插入的最大integer

如果您需要如此高的数字,请将字段的数据类型更改为bigint