Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
560 views
in Technique[技术] by (71.8m points)

数据库在插入数据时,自动递增的主键`id`,没有按顺序递增

id=1 name=...
id=2
id=6
在删除之前插入的id为3,4,5的记录后再插入为什么不是3,而是到6了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

你用命令看看,就知道为什么了.

show create table test2;

自增值不会随你删除记录而减少.

 test2 | CREATE TABLE `test2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `mouth` int(11) NOT NULL,
  `num` int(11) NOT NULL,
  PRIMARY KEY (`id`,`mouth`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=gbk

要修改自增值请用sql来修改

 alter table test2 auto_increment=4;

修改后的主键自增起始点.

  test2 | CREATE TABLE `test2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `mouth` int(11) NOT NULL,
  `num` int(11) NOT NULL,
  PRIMARY KEY (`id`,`mouth`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=gbk |

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...