在之前得文章中我们说过,如果使用delete对数据库中得表进行删除,那么只是把记录删除掉,并且id的值还会保持上次的状态。
即删除之前如果有四条数据,删除之后,再添加新的数据,id怎会从5开始。
但是我们显示想让id从2开始,应该怎么做呢?
这个时候我们就要学习去修改数据表的一些属性值了,而这个属性值就是AUTO_INCREMENT。
首先我们要知道怎么查看这个属性的值。
例如我建了一张表:
create table t4(id int auto_increment primary key, num int) engine=innodb default charset=utf8;
那么接下来我可以通过命令来查看AUTO_INCREMENT的值:
通过命令我们好像没找到这个AUTO_INCREMENT属性啊,why?这是因为我们刚建好表,还没有数据,所以这个属性还没开始被赋值。
那么我们就插入几条数据
insert into t4(num) values(11);
insert into t4(num) values(12);
insert into t4(num) values(13);
通过上面的sql语句插入三条记录。
在这里我们可以猜想一下,AUTO_INCREMENT属性的值应该是表示的什么?是记录最后记录的数据是第几条?还是表示下一条记录是第几条?
我们可以再次通过命令 show create table t4 \G;来验证一下。
此时我们可以找到AUTO_INCREMENT这个属性,并且它的值等于4,这个是不是就是说明AUTO_INCREMENT记录的值表示对于下一条记录的id值。
通过delete table t4; 来把t4里面的记录清空。
然后再调用show create table t4 \G;命令
可以发现表的信息并没有因为表里的信息被删除而改变,这样的话,我们要是想让添加的数据id从2开始不就会不行了吗?
but,我们可以修改表的信息。
通过alter table t4 AUTO_INCREMENT=2;这个命令我们可以修改AUTO_INCREMENT属性的值,将其修改为2,那么我们再添加数据,id不就从2开始了嘛。
最后,我们在验证一下
返现结果如我们要的一样,ok,完美解决。