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

时间:2009-09-28 06:18:36

标签: mysql insert auto-increment

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

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

不指定id列的初始值。

10 个答案:

答案 0 :(得分:434)

使用此:

ALTER TABLE users AUTO_INCREMENT=1001;

或者如果您尚未添加id列,也请添加

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

答案 1 :(得分:48)

MySQL - 设置从1001开始的自动递增主键:

第1步,创建表格

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'

答案 2 :(得分:31)

MySQL Workbench

如果你想避免编写sql,你也可以在MySQL Workbench中右键单击表格,在菜单中选择“Alter Table ...”。

当表格结构视图打开时,转到“选项”选项卡(位于视图的下方),并将“自动增量”字段设置为下一个自动增量编号的值。

完成所有更改后,请不要忘记点击“应用”。

<强> phpMyAdmin的:

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

答案 3 :(得分:10)

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

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

此查询首先添加列。 现在您必须重置自动增量初始值。因此,请使用此查询

alter table users AUTO_INCREMENT=1001

现在你的表以1001左开始

答案 4 :(得分:5)

此外,在 PHPMyAdmin 中,您可以从左侧(表格列表)中选择表格,然后执行此操作。
操作选项卡 - &gt;表格选项 - &gt; AUTO_INCREMENT。

现在,设置您的值,然后按表格选项Bo x。

下的转到

答案 5 :(得分:3)

为此,您必须设置data = { labels: ['a', 'b', 'c', 'd', 'e',] , staff: [ {'name' : 'aaa', 'dept': 'bbb', 'region': 'ccc', 'mgr': 'ddd', 'active': 1, 'id': '111'}, { }, { }, { }, { } ], err: 'error msg'}

AUTO_INCREMENT

示例

ALTER TABLE tablename AUTO_INCREMENT = <INITIAL_VALUE>

答案 6 :(得分:2)

或者,您懒于编写SQL查询。那么此解决方案仅适合您。 enter image description here

  1. 打开 phpMyAdmin
  2. 选择所需的表格
  3. 点击操作标签
  4. AUTO_INCREMENT
  5. 设置所需的初始值
  6. 完成..!

答案 7 :(得分: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;

答案 8 :(得分:0)

您也可以在create table声明中进行设置。

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

答案 9 :(得分:0)

SET GLOBAL auto_increment_offset = 1;

SET GLOBAL auto_increment_increment = 5;

auto_increment_offset:连续列值之间的间隔

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

read more here