1. Mysql主键自动增长
在 Mysql 中,通过设置主键的自动增长来实现自动编号。在创建表时,可以通过在主键字段上添加 AUTO_INCREMENT 关键字,使该字段可以自动递增:
CREATE TABLE example (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
其中,id 字段为主键,同时通过添加 AUTO_INCREMENT 关键字来设置为自动递增,并且设置了 PRIMARY KEY
2. 主键自动增长起始值问题
在实际开发项目中,很多时候都需要设置主键的自动递增值从一个特定的值开始,而不是从默认的 1 开始,例如从 10000 开始或从预先定义好的值开始:
2.1 设置 AUTO_INCREMENT 初始值
在创建表时可以通过在主键字段的 AUTO_INCREMENT 后面添加初始值和步长来实现自定义自增序列:
CREATE TABLE example (
id INT(11) UNSIGNED AUTO_INCREMENT=10000 PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
其中,AUTO_INCREMENT=10000 表示主键的自增序列从 10000 开始。
2.2 使用 ALTER TABLE 语句修改初始值
如果表已经创建,可以通过 ALTER TABLE 语句来修改主键的 AUTO_INCREMENT 初始值。
ALTER TABLE example AUTO_INCREMENT = 10000;
其中,example 为表名,AUTO_INCREMENT = 10000 表示将主键的自增序列从 10000 开始。
2.3 修改 AUTO_INCREMENT 的步长
除了设置初始值外,还可以通过 ALTER TABLE 语句来修改主键的 AUTO_INCREMENT 步长,即每次增加的幅度:
ALTER TABLE example AUTO_INCREMENT = 10000, AUTO_INCREMENT = 2;
其中,AUTO_INCREMENT = 10000 表示将主键的自增序列从 10000 开始,而 AUTO_INCREMENT = 2 表示每次自增值为 2。
3. 总结
通过在主键字段上添加 AUTO_INCREMENT 关键字,可以实现 Mysql 的主键自动递增。在创建表时,可以通过在 AUTO_INCREMENT 后面添加初始值和步长来自定义自增序列;也可以通过 ALTER TABLE 语句来修改主键的 AUTO_INCREMENT 初始值和步长。