1
error: Error 1062: Duplicate entry '134314-2147483647' for key 'xxxx'

这是条MySQL insert语句报的错误,按照常规的思路来看,就是唯一索引重复了。

所以开始检查insert的内容是否有重复,但是却没有搜索到2147483647 这个数字

后来想了一下,灵光一闪~
发现数据库的字段类型是int 这意味着

INT4-21474836482147483647

所以当写入的数字特别大溢出的时候,就会写入的数字都变成2147483647


jaysun
507 声望25 粉丝

Code is law