mysql数据表中,有几条记录主键id为1,2,3,4,5,把id为5的这条数据删了。如果下次再insert一条数据的话

[复制链接]
查看11 | 回复4 | 2012-3-21 12:10:31 | 显示全部楼层 |阅读模式
数据库实现自增长都是通过一个变量来实现的,就是AUTO_INCREMENT。每次插入一条数据,变量加1。你删除数据它不可能回滚,试想如果你觉得删除一条数据它就减1,你删除最大的那个ID自然没有问题,但如果你删除的是3而不是5,数据库无论将它变成5或者3都不合适,因为如果是5,显然ID为5的数据已经存在,你再次插入数据会违反主键唯一性;如果是3呢,新插入两条数据时,同样有这个问题,所以它只能不变。而且你非要再在5那插一条数据意义也不大,你可以通过指定ID来插入数据,不需要改变自增变量。在你不能确定有没有ID值比你要改的ID大时,最好不要随便改自增变量。...
回复

使用道具 举报

千问 | 2012-3-21 12:10:31 | 显示全部楼层
将ID设置为INT就OK, CREATE TABLE TB_NAME( ID INT IDENTITY(1,1),) IDENTITY是自动增长参数,(1,1)表示初始值为1,行增量为1 改成...
回复

使用道具 举报

千问 | 2012-3-21 12:10:31 | 显示全部楼层
1、你可以用show create table tablename;查看AUTO_INCREMENT的值。插入5行数据后,AUTO_INCREMENT=6,即使你把所有的数据都删除。2、执行alter table tablename AUTO_INCREMENT=5;再插入即可。...
回复

使用道具 举报

千问 | 2012-3-21 12:10:31 | 显示全部楼层
alter table tbname auto_increment=5;这样就能重新从5开始了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行