一、准备数据
CREATE TABLE `student` (
`sno` int NOT NULL AUTO_INCREMENT COMMENT '学号',
`sname` varchar(20) NOT NULL COMMENT '姓名',
`sage` tinyint unsigned NOT NULL COMMENT '年龄',
`ssex` enum('f','m') NOT NULL DEFAULT 'm' COMMENT '性别',
PRIMARY KEY (`sno`),
KEY `idx_name` (`sname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
INSERT INTO school.student (sname,sage,ssex) VALUES
('zhang3',18,'m'),
('zhang4',18,'m'),
('li4',18,'m'),
('wang5',19,'f'),
('zh4',18,'m'),
('zhao4',18,'m'),
('ma6',19,'f'),
('oldboy',20,'m'),
('oldgirl',20,'f'),
('oldp',25,'m');
二、删除自增效果
ALTER TABLE school.student MODIFY COLUMN sno int NOT NULL COMMENT '学号';
三、恢复
如果直接给这列`sno`添加自增效果会卡住。
观察数据可知,自增值下一个因该是11。可以通过手动指定下一个自增值解决。
ALTER TABLE school.student AUTO_INCREMENT = 11;
ALTER TABLE school.student MODIFY COLUMN sno int auto_increment NOT NULL COMMENT '学号';
插入数据观察结果