奇怪的问题:

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


即使我输入了33456305746,它也认为我输入的是21474836476。现在该行的确已经存在,因此我尝试将其删除,并将该行保存为21474836476。如果删除唯一要求,则将这两行都保存为21474836476。有人知道世界上发生了什么吗?

最佳答案

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

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

如果需要这么大的数字,请将字段的数据类型更改为bigint

关于mysql - Mysql在没有重复项的情况下返回“重复项”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31392165/

10-13 02:55