数据库自增主键用完了会怎样?

时间:2021-07-25 03:11:39

在mysql中,假设我们定义的主键是 intunsigned,所以最大可以达到2的32幂次方 - 1 = 4294967295,这时候我们将AUTO_INCREMENT设置为最大值,然后来插入数据会得到一个异常

insert into t1 values(null) Error Code: 1062. Duplicate entry '4294967295' for key 'PRIMARY'

主要是因为我们在插入数据的时候,因为主键已经是最大值了,所以再次插入数据的时候,拿到的数据还是4294967295,因为这条数据在数据库中已经存在,所以就会报主键冲突的错误。