MySql 设置ID主键自增,从0开始,请问怎么设?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql 设置ID主键自增,从0开始,请问怎么设?相关的知识,希望对你有一定的参考价值。

DROP TABLE IF EXISTS messages; CREATE TABLE messages ( chatId int unsigned NOT NULL auto_increment, toUserName varchar(50) DEFAULT NULL, PRIMARY KEY (`chatId`) ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; 这样是不ok的. INSERT INTO messages(chatId,toUserName) VALUES(0,'saf'); INSERT INTO messages(chatId,toUserName) VALUES(1,'4653'); 我添加这两条数据的话,第一个还是从1开始,插入这样的数据以后,数据库里就显示:2-saf,1-4653了.

参考技术A 就我所知这个好像无法实现,就算你自己编译mysql恐怕也很难。因为last_insert_id()这个内置的函数返回最近一次插入的自增长ID,当没有符合条件的ID时,它返回0,所以如果自增长从0开始的话,这个返回值就很难判定到底是插入了一条自增长ID为0的记录还是没有符合条件的记录了。 参考技术B 有时候我们在测试网站的时候,删除测试数据导致id不是从0开始,那如果想id是从0开始怎么办呢?
mysql默认自增ID是从1开始了,但当我们如果有插入表或使用delete删除id之后ID就会不会从1开始了.
使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可.
通常的设置自增字段的方法,创建表格时添加:
create
table
table1(id
int
auto_increment
primary
key,...)
参考技术C 在建表语句中加入
id
int
identity(0,1)
not
null,
mysql
的语句是
id
mediumint
not
null
auto_increment,
你的已经有了啊

Mysql对自增主键ID进行重新排序

参考技术A 一、不清空数据

原理:删除原有的自增ID,重新建立新的自增ID。

二、如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数

以上是关于MySql 设置ID主键自增,从0开始,请问怎么设?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置主键自增从1000开始每次自增1

mysql如何设置ID自增

sql自增id怎么写 并且设置成为主键?

sql 设置主键 自动增长

mysql 主键自增 怎么处理

SQL Server 2000中如何设置自增主键?