在实际开发中,大家常常需要在原有序列基础上自增1,以保证每次新生成的标识符都是唯一的。那么在MySQL中,如何实现序列自增呢?
CREATE TABLE user ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL );
上面的SQL语句创建了一个名为user的表,其中id为自增的整型主键。
当大家向该表插入数据时,id会自动加1:
INSERT INTO user (username) VALUES ('Tom'); INSERT INTO user (username) VALUES ('Jerry'); INSERT INTO user (username) VALUES ('Mike');
此时,大家可以查看表中的数据,可以发现每次插入的id都比上一次大1。
除了在插入数据时自动加1外,大家还可以手动修改序列值,只需要使用以下SQL语句:
UPDATE user SET id=id+1 WHERE id>2;
上述语句将id大于2的记录的id值都加1。
除了针对单个表自增序列,MySQL还提供了全局自增序列的功能,称为自动编号器。该功能需要在创建表时指定:
CREATE TABLE user ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(30) NOT NULL, PRIMARY KEY (id) ) AUTO_INCREMENT=10001;
上面的SQL语句创建了一个名为user的表,其中id为全局自增的整型主键,起始值为10001。
通过以上介绍,大家可以实现MySQL数据库中序列自增的功能,以便于生成唯一的标识符或者主键。