MySQL 是一种关系型数据库,它是世界上最流行的关系型数据库之一。在 MySQL 中,自增是一种非常有用的功能,它可以自动给主键赋值,并保证每个主键是唯一的。然而,许多人不知道的是,MySQL 默认情况下从 1 开始自增,这并不总是适合所有情况。
在 MySQL 中,我们可以通过在创建表时明确指定自增开始值和步长来更改自增值的初始值。例如:
CREATE TABLE example ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50)) AUTO_INCREMENT=1000;
在上面的例子中,我们明确设置自增初值为 1000。这意味着在向 example 表插入第一条记录时,id 的值将是 1000,而不是默认值 1。
类似地,在更改步长时,我们可以这样做:
CREATE TABLE example ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50)) AUTO_INCREMENT=1 INCREMENT BY 2;
在上面的例子中,我们将步长更改为 2。这意味着,在向 example 表插入第一条记录时,id 的值将为1,第二条记录为 3,第三条记录为 5,以此类推。
如果想设置自增 id 的值从 0 开始,同样可以通过设置 “AUTO_INCREMENT=0” 来实现。
CREATE TABLE test_table (id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,data VARCHAR(255) NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=0;
总之,MySQL 的自增特性非常有用,它可以自动为我们生成唯一的主键。然而,在某些情况下,我们可能需要更改自增初值和步长的默认值1。因此,我们只需要在创建表时明确指定即可。
来源地址:https://blog.csdn.net/crazestone0614/article/details/132320899