Failed to read auto-increment value from storage engine
今天新建一张表做临时数据排查用,由于数据不多,我新建了如下一张表:
CREATE TABLE emp (id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,ename VARCHAR(20));
建完表后,新插入数据的时候,出现了下面的错误
Error Code: 1467
Failed to read auto-increment value from storage engine
show create table emp查看auto-increment已经长到255了。
于是我又新建了一张表
DROP TABLE IF EXISTS emp1;
CREATE TABLE `emp1` (
`id` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
`ename` VARCHAR(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
查看auto_increment
可以看出建表的时候auto_increment初始化是1,没有问题,然后我突然想到在报上面错误之前,有过一次插入失败,所以复现一下厂家
insert into emp1 。。。
跟之前一样报了下面这样一个错
Error Code: 1406
Data too long for column 'ename' at row 36
Execution Time : 0 sec
Transfer Time : 0 sec
Total Time : 0.208 sec
再查看一下表结构变换
可以看出,插入失败他的auto_increment是被修改了的