MySQL自增主键用完了会怎么样?怎么解决
自增主键分为两种,一种是显性的,一种是隐性的(row_id)。如果是显性的,那么就会报主键冲突错误,
如果是隐性的,下次申请ID的时候,得到的值会从0开始,然后继续开始自增,但这个时候会覆盖原有相同
row_id的数据
显性的一般是bigint,unsign
这样的话,肯定是自己显性指定主键ID,毕竟这样的话异常我们才能感知到的
真用完了怎么办?
1.脚本扫描没用到的主键,然后插入,但不推荐,会破坏其原有数据的连续性
2.将表里的久远数据归档(推荐)
3.使用UUID,UUID是128位,几乎不可能用完的,但不推荐,UUID作为主键ID容易造成页分裂,页合并