码迷,mamicode.com
首页 > 数据库 > 详细

数据库自增ID用完了会怎么样?

时间:2021-01-08 11:33:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:没有   数据   知识   自增   entry   primary   for   bsp   有符号   

记一个数据库方面的面试题:数据库自增ID用完了会怎么样?

 

MySQL中 int 类型是4个字节,如果是有符号,那就是 [ -2^31 , 2^31-1 ], 如果是无符号,那就是 [ -2^31 , 2^32-1 ],那就是 4294967295

如果该表是需要频繁插入数据,那么是可能达到这么多数据的。

 

当数据达到这么多时,会报错:

1062 - Duplicate entry  2147483647  for key  PRIMARY , Time:0.000000s

 

解决办法

如果设置了主键,可以把主键改为 begint (8字节),这样又可以继续自增了

如果没有设置主键,数据库会帮我们自动生成一个全局的 row_id (2^48-1),新数据会覆盖老数据

 

 

就这样,奇怪的知识又增加了

数据库自增ID用完了会怎么样?

标签:没有   数据   知识   自增   entry   primary   for   bsp   有符号   

原文地址:https://www.cnblogs.com/shiyixirui/p/14244224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!