如何在MySQL中将AUTO_INCREMENT字段设置为从值6000开始?

14

如何在MySQL中将非自增字段设置为自增?如何设置自增起始值为6000?

3个回答

20

如何在mysql中设置字段自增,并指定起始值为6000?

如果你的表已经存在:

ALTER TABLE your_table AUTO_INCREMENT = 6000;

如果你是从头开始创建表格:

CREATE TABLE your_table () AUTO_INCREMENT = 6000;

参考资料和进一步阅读:


测试用例:

CREATE TABLE users (
   user_id  int NOT NULL, 
   name     varchar(50),
   PRIMARY KEY (user_id)
);

INSERT INTO users VALUES (1, 'Bob');
INSERT INTO users VALUES (2, 'Joe');
INSERT INTO users VALUES (3, 'Paul');

ALTER TABLE users MODIFY user_id int NOT NULL AUTO_INCREMENT;
ALTER TABLE users AUTO_INCREMENT = 6000;

INSERT INTO users (name) VALUES ('Keith');
INSERT INTO users (name) VALUES ('Steve');
INSERT INTO users (name) VALUES ('Jack');

SELECT * FROM users;
+---------+-------+
| user_id | name  |
+---------+-------+
|       1 | Bob   |
|       2 | Joe   |
|       3 | Paul  |
|    6000 | Keith |
|    6001 | Steve |
|    6002 | Jack  |
+---------+-------+
6 rows in set (0.01 sec)

1
太好了,我们可以在MySQL中设置多个列为auto_increment吗?或者有其他方法可以实现这一点。谢谢。 - Ajay
@DanielBrunner,试一下。插入一些行并检查它们的值。它能正常工作吗? - Pacerier

2
ALTER TABLE tbl_name AUTO_INCREMENT = 6000

但是请注意,这个表中不应该有任何PK大于6000的记录!


太好了,我们可以在MySQL中设置多个列为auto_increment吗?或者有其他方法可以实现这一点。谢谢。 - Ajay

0

如果您执行以下操作,针对包含自增主键和一些已有数据的表,mysql会向您显示正确的语法及更多信息:

SHOW CREATE TABLE your_tablename;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接