微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[MySQL] 数据库自增ID用完了会怎么样

1.有主键
如果设置了主键,并且一般会把主键设置成自增。
我们知道,MysqLint类型是4个字节,如果有符号位的话就是[-2^31,2^31-1]无符号位的话最大值就是2^32-1,也就是4294967295

如果超过上限就会看到错误提示:1062 - Duplicate entry '2147483647' for key 'PRIMARY',Time: 0.000000s。
也就是说,如果设置了主键并且自增的话,达到自增主键上限就会报错重复的主键key。
解决方案,MysqL主键改为bigint,也就是8个字节

2.没有主键
如果没有设置主键的话,InnoDB则会自动帮你创建一个6个字节的row_id,由于row_id是无符号的,所以最大长度是2^48-1

如果超过上限row_id会从0重新开始计算,覆盖旧数据

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐