如何在MySQL中设置初始值和自动递增?

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

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

没有指定id列的初始值。

716916 次浏览

用这个:

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值,然后单击确定。

首先,您需要添加列的自动增量

alter table users add column id int(5) NOT NULL AUTO_INCREMENT FIRST

第一次添加列的查询。 现在你必须重置自动增加初始值。所以使用这个查询

alter table users AUTO_INCREMENT=1001

现在您的表从1001
开始

设置一个从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中,您可以从左侧(表列表)选择表,然后通过到那里来完成此操作。< br > 操作选项卡->表选项->AUTO_INCREMENT。 < br > < br > 现在,设置你的值,然后按去表格选项博下面x.

为此,你必须设置AUTO_INCREMENT

ALTER TABLE tablename AUTO_INCREMENT = <INITIAL_VALUE>

例子

ALTER TABLE tablename AUTO_INCREMENT = 101

你也可以在create table语句中设置它。

`CREATE TABLE(...) AUTO_INCREMENT=1000`

或者,如果你懒得写SQL查询。那么这个解决方案就是为你准备的。 enter image description here < / p >

  1. 打开phpMyAdmin
  2. 选择所需的表格
  3. 单击操作选项卡
  4. AUTO_INCREMENT设置你想要的初始值
  5. 做. . !

SET GLOBAL auto_increment_offset=1;

SET GLOBAL auto_increment_increment=5;

Auto_increment_increment:连续列值之间的间隔

auto_increment_offset:确定AUTO_INCREMENT列值的起始点。 默认值为1

阅读更多这里

使用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;