如何设置从1001开始的MySQL表中的“id”列的初始值?

我想做一个插入“insert INTO users (name, email) VALUES ('{$name}', '{$email}')”;

没有指定id列的初始值。


当前回答

使用CREATE TABLE语句

CREATE TABLE my_table (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  PRIMARY KEY (id)
) AUTO_INCREMENT = 100;

或ALTER TABLE语句

ALTER TABLE my_table AUTO_INCREMENT = 200;

其他回答

SET GLOBAL auto_increment_offset=1;

SET GLOBAL auto_increment_increment=5;

Auto_increment_increment:连续列值之间的间隔

auto_increment_offset:确定AUTO_INCREMENT列值的起始点。 缺省值为1。

点击这里阅读更多

用这个:

ALTER TABLE users AUTO_INCREMENT=1001;

或者,如果您还没有添加id列,也添加它

ALTER TABLE users ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ADD INDEX (id);

MySQL工作台

如果你想避免写sql,你也可以在MySQL Workbench中通过右键单击表,在菜单中选择“Alter table…”来完成。

当表结构视图打开时,进入“选项”选项卡(在视图的底部),并将“自动递增”字段设置为下一个自动递增数的值。

当你完成所有更改时,不要忘记点击“应用”。

PhpMyAdmin:

如果您正在使用phpMyAdmin,您可以单击左侧导航中的表格,进入“操作”选项卡,在表格选项下更改AUTO_INCREMENT值,然后单击确定。

设置一个从1001开始的自动递增的主键:

第一步,创建你的表:

create table penguins(
  my_id       int(16) auto_increment, 
  skipper     varchar(4000),
  PRIMARY KEY (my_id)
)

第2步,设置自动递增主键的起始编号:

ALTER TABLE penguins AUTO_INCREMENT=1001;

步骤3,插入一些行:

insert into penguins (skipper) values("We need more power!");
insert into penguins (skipper) values("Time to fire up");
insert into penguins (skipper) values("kowalski's nuclear reactor.");

步骤4,解释输出:

select * from penguins

打印:

'1001', 'We need more power!'
'1002', 'Time to fire up'
'1003', 'kowalski\'s nuclear reactor'

此外,在PHPMyAdmin中,您可以从左侧(表列表)选择表,然后通过去那里这样做。 操作选项卡->表选项->AUTO_INCREMENT。 现在,设置你的值,然后按下表选项框下的Go。