MySQL自增主键用完了会怎么样?怎么解决

自增主键分为两种,一种是显性的,一种是隐性的(row_id)。如果是显性的,那么就会报主键冲突错误,

如果是隐性的,下次申请ID的时候,得到的值会从0开始,然后继续开始自增,但这个时候会覆盖原有相同

row_id的数据

显性的一般是bigint,unsign

这样的话,肯定是自己显性指定主键ID,毕竟这样的话异常我们才能感知到的

真用完了怎么办?

1.脚本扫描没用到的主键,然后插入,但不推荐,会破坏其原有数据的连续性

2.将表里的久远数据归档(推荐)

3.使用UUID,UUID是128位,几乎不可能用完的,但不推荐,UUID作为主键ID容易造成页分裂,页合并