怎么让mysql的id从0开始

怎么让mysql的id从0开始,第1张

有时候我们在测试网站的时候,删除测试数据导致id不是从0开始,那如果想id是从0开始怎么办呢?

mysql默认自增ID是从1开始了,但当我们如果有插入表或使用delete删除id之后ID就会不会从1开始了.

使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可.

通常的设置自增字段的方法,创建表格时添加:

create table table1(id int auto_increment primary key,...)

创建表格后添加:

alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key.

例子,代码如下:

alter table tablename drop column id

alter table tablename add id mediumint(8) not null primary key auto_increment first//phpfensi.com

方法二:alter table tablename auto_increment=0

就我所知这个好像无法实现,就算你自己编译mysql恐怕也很难。因为last_insert_id()这个内置的函数返回最近一次插入的自增长ID,当没有符合条件的ID时,它返回0,所以如果自增长从0开始的话,这个返回值就很难判定到底是插入了一条自增长ID为0的记录还是没有符合条件的记录了。

通常是从1开始而不是从0开始,不过不论如何需要先清空表里面的数据。

方法一,执行SQL:

truncate table test (这里假定你的表名test)

这种方法好处是运行速度超快

方法二,执行如下SQL: (还是假定表名是test)

delete from test

alter table `test` auto_increment=1

这种方法好处是可以从任何值开始,缺点是如果数据量大的话delete from test非常耗时


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9654827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存