首页 数据库 mysql

mysql修改主键为自增 ,如果自增达到最大值,新增加数据会怎样?

结论

它会停止递增,新增加的数据会报错


1、如果MySql设置主键默认int类型


id为int,占4个字节,每个字节8为,所以主键id的最大范围是-2^31 到 2^31-1即-2147483648到2147483647


2、主键设置无符号


无符号int: 范围(2^32)-1是0到4294967295


bigint的范围是:-2^63 到 2^63-1


3、navicat设计表,把主键改为最大值


4、插入数据,报错


5、主键自增到最大值了应该怎么办


此处参考文章:
https://blog.csdn.net/u013008898/article/details/116709305


1、主键类型修改为无符号int: int unsigned


Navicat修改类型为无符号,可以把主键扩大一倍



创建表的时候,设置为无符号


create table test_unsigned(a int unsigned, b int unsigned);


此时插入数据成功


2、主键类型修改为bigint


3、分表分库

相关推荐