SockSTap S O C K S T A P

我们如何更改MySQL AUTO_INCREMENT起始号码?

首页 / 新闻资讯 / 正文

MySQL AUTO_INCREMENT值从1开始,但是我们可以通过以下两种方式进行更改-

借助ALTER TABLE查询

我们可以使用ALTER TABLE查询来更改AUTO_INCREMENT的起始值,如下所示:

ALTER TABLE table_name AUTO_INCREMENT = value;

示例

假设我们创建了一个表,其列'id'为AUTO_INCREMENT。现在,如果我们将值插入其中,那么序列号将从1开始,如您在以下查询中看到的那样-

mysql> Create Table EMP(id int NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10));  mysql> Insert Into EMP(Name) Values('Aryan');  mysql> Insert Into EMP(Name) Values('Yash');  mysql> Select * from EMP; +----+-------+ | id | NAME  | +----+-------+ | 1  | Aryan | | 2  | Yash  | +----+-------+ 2 rows in set (0.00 sec)

现在,如果要在以后更改序列号,则需要使用ALTER TABLE查询来更改AUTO_INCREMENT的值,如下所示:

mysql> Alter table emp auto_increment = 10; Records: 2 Duplicates: 0 Warnings: 0  mysql> Insert Into EMP(Name) Values('Daksh');  mysql> Insert Into EMP(Name) Values('Shayra');  mysql> Select * from EMP; +----+--------+ | id | NAME   | +----+--------+ | 1  | Aryan  | | 2  | Yash   | | 10 | Daksh  | | 11 | Shayra | +----+--------+ 4 rows in set (0.00 sec)

上面的查询将AUTO_INCREMENT的值更改为10,因此在插入新值之后,我们将从10开始获取序列号。

借助CREATE TABLE查询

我们还可以在创建表时更改AUTO_INCREMENT值。可以通过使用CREATE TABLE查询指定AUTO_INCREMENT的值来完成,如下所示:

CREATE TABLE (Column1 INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Column2 data type) AUTO_INCREMENT = value;

示例

mysql> Create Table EMP1(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10)) AUTO_INCREMENT = 100;

上面的查询在创建表时将AUTO_INCREMENT的值指定为100。现在,如果我们将值插入其中,那么序列号将从100开始,而不是默认值1,如下所示-

mysql> Insert into emp1(name) values('Sohan');  mysql> Insert into emp1(name) values('Harshit');  mysql> Select * from emp1; +-----+---------+ | id  | NAME    | +-----+---------+ | 100 |   Sohan | | 101 | Harshit | +-----+---------+ 2 rows in set (0.00 sec)