1.有主键如果设置了主键,并且一般会把主键设置成自增。我们知道,Mysql里int类型是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重新开始计算 , 覆盖旧数据

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。