文章目录
背景
之前的学习和实践上了解到的是:
SQL插入异常,主键冲突错误,因为自增ID达到上限后,再申请时它的值不会改变,继续插入数据会导致报主键冲突错误
/* SQL Error (1062): Duplicate entry '2147483647' for key 'PRIMARY' */
但我在偶然中发现,还会有这个错误信息,读取自增ID失败。
/* SQL Error (1467): Failed to read auto-increment value from storage engine */
测试过程
于是产生了进一步实验的想法,以下是操作过程:
本次测试环境MySQL 5.7.22
创建表,自增ID
CREATE TABLE `tb_id_incr` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB;
场景一:测试自增ID已经达到最大值
- 第1步:测试,直接让表记录自增ID达到最大值:
INSERT INTO `tb_id_incr` (`id`, `name`) VALUES ('2147483647'