error: Error 1062: Duplicate entry '134314-2147483647' for key 'xxxx'
这是条MySQL insert语句报的错误,按照常规的思路来看,就是唯一索引重复了。
所以开始检查insert的内容是否有重复,但是却没有搜索到2147483647
这个数字
后来想了一下,灵光一闪~
发现数据库的字段类型是int
这意味着
INT | 4 | -2147483648 | 2147483647 |
所以当写入的数字特别大溢出的时候,就会写入的数字都变成2147483647