MySQL设置自增初始值和步长

我这里使用的为Navicat:

(一般设置特殊的自增值和自增步长是为了:当数据出现错乱时,我们需要将备份的数据和线上的数据进行比对时使用。)

我们可以通过:SHOW VARIABLES LIKE 'auto_inc%'; 查看当前数据库的自增长设置。

MySQL设置自增初始值和步长_第1张图片

auto_increment_increment这是自增长的步长。

auto_increment_offset这是自增长开始的值。

假如有一张test表,我们要给它增加一个自增列(id列)。

为表增加自增列的方法:

alter table `test`add id BIGINT; -- 为test表增加一个名称为id,类型为bigint的列.

alter table `test` change id id BIGINT not null auto_increment primary key; -- 将id列设置为主键并且自增.

那么如果使用默认值的时候,id列的值就是:1,2,3,4,5......

现在想要更改test表的id增长开始值和增长的步长,可以使用如下方法:

SET @@auto_increment_increment=3; -- 将自增长步长设置为3

MySQL设置自增初始值和步长_第2张图片

SET @@auto_increment_offset=4; -- 将自增长开始值设置为4

MySQL设置自增初始值和步长_第3张图片

MySQL设置自增初始值和步长_第4张图片

我们先看下设置的自增步长和初始值是否改变了:再次执行SHOW VARIABLES LIKE 'auto_inc%'; 

通过查询结果,我们可以看到,自增步长和初始值已经被改变,那么接下来我们看一下id值会不会按照我们的期望进行设置。

设置之前,需要删除test表已有的id列,然后重新进行设置:

第一步:删除test表的id列;

alter table `test` drop column id; 

第二步:重新生成主键id,并设置成自增;

alter table `test`add id BIGINT;

alter table `test` change id id BIGINT not null auto_increment primary key;

查看一下结果,看是不是我们期望的值:

通过结果可以看到:从第二行开始,确实符合我们的设置。

MySQL设置自增初始值和步长_第5张图片

 

你可能感兴趣的:(mysql,MySQL设置自增初始值和步长)