mysql自动增加的字段怎么设置初始值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql自动增加的字段怎么设置初始值相关的知识,希望对你有一定的参考价值。

mysql自动增加的字段怎么设置初始值 默认是1开始,我想让它从100开始

mysql自动增加的字段设置初始值的方法和详细的操作步骤如下:

1、首先,打开navicat工具并连接到mysql数据库服务,可以查看所有表,选择需要添加字段的表,然后单击鼠标右键以选择“设计表”,如下图所示。

2、其次,在设计表页面中,可以查看当前表的所有字段和类型。图形化工具可以直观地查看每个字段的信息,如下图所示。

3、接着,单击“添加栏位”,将在表字段的末尾添加空白行。如果不想将新添加的字段放在后面,可以先选择一个字段,然后单击插入栏位以在刚选择的字段之前插入空白行,如下图所示。

4、然后,在空白行中填写名称,类型,长度以及是否需要添加新字段。下面的两个空白输入框,一个是设置的默认值,另一个是注释。填写信息之后,单击保存按钮,如下图所示。

5、随后,除了以上述图像处理方式添加字段并设置默认值之外,还可以使用sql语句:

alter table t_user add type int(11) DEFAULT '1' COMMENT '用户类型(1:普通用户,2:会员)';

add后面就是添加的字段名称和类型,DEFAULT是默认值,COMMENT是注释内容,如下图所示。

6、最后,执行sql语句,检查表结构信息,可以看到刚将字段正确添加到表中,如下图所示。

参考技术A

1、打开navicat工具,连接上mysql数据库服务,如图可以查看所有表,选择其中一个需要添加字段的表,然后右击选择设计表。

2、在设计表页面中,可以看到当前表所有的字段以及类型等信息,图形化工具可以很直观地看到各个字段信息,比命令行看起来舒服很多。

3、然后点击添加栏位,会在表字段最后添加空白行。如果你不想把新增的字段放在最后面,可以先选择一个字段,然后点击插入栏位,即可在刚刚选择的字段前插入一个空行。

4、接下来在空行里填入需要新增字段的名称、类型、长度、是否为空,下方的两个空白输入框,一个就是设置的默认值,另一个是注释,如图填完信息之后,点击保存按钮。

5、除了上面图像操作的方式添加字段和设置默认值之外,还可以通过sql语句的方式

alter table t_user add type int(11) DEFAULT '1' COMMENT '用户类型(1:普通用户,2:会员)';add后面就是添加的字段名称和类型,DEFAULT后面就是默认值,COMMENT是注释内容

6、然后执行sql语句之后,查看表结构信息,可以看到刚刚的字段已经正确地添加到表里了。

参考技术B

需要用alter语句来设置。

工具:mysql 5.6

步骤:

1、有空表student如下:

2、要设置id字段从100开始,语句如下:

alter table student auto_increment=100;

3、执行插入语句验证:

insert into student (name) values ('物理');

4、结果如下:

注意事项:设置前,被设置的字段一定是允许为自增的,否则无效。

参考技术C ALTER TABLE 表名 AUTO_INCREMENT = 设定的值

我需要自动增加 MySQL 中不是主键的字段

【中文标题】我需要自动增加 MySQL 中不是主键的字段【英文标题】:I need to auto_increment a field in MySQL that is not primary key 【发布时间】:2010-11-12 04:28:29 【问题描述】:

现在,我有一个主键是auto_increment 字段的表。但是,我需要将主键设置为usernamedate(以确保不能有重复的用户名和日期)。

但是,我需要 auto_increment 字段来更改行信息(添加和删除)。

这种情况通常会怎么做?

谢谢!

【问题讨论】:

【参考方案1】:

只需在(用户名,日期)的组合上设置一个唯一索引。

ALTER TABLE `table` ADD UNIQUE INDEX `name` (`username`, `date`);

或者,您可以尝试

ALTER TABLE `table` DROP PRIMARY KEY, ADD PRIMARY KEY(`username`,`date`);

我认为在后一种情况下,您需要将这些列声明为 NOT NULL。

【讨论】:

@littleK 我有两个字段我想设置一个作为主键,另一个作为自动增量是否可能? 如果第一个主键是自增的,你不能删除它。您提供的第二种解决方案不起作用。【参考方案2】:

将您当前的主键改为唯一键:

ALTER TABLE table DROP PRIMARY KEY, ADD UNIQUE KEY(username,date);

此后自动增量将正常运行,没有任何问题。您还应该在 auto_increment 字段上放置一个唯一键,以用于您的行处理:

ALTER TABLE table ADD UNIQUE KEY(id);

【讨论】:

我尝试这样做,但仍然收到错误:#1075 - 表定义不正确;只能有一个自动列,并且必须定义为一个键【参考方案3】:

使用类似的东西:

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  user VARCHAR(32) NOT NULL,
  thedate DATE NOT NULL,
  UNIQUE(user,thedate)
);

如果您已经拥有该表,并且只想在其上添加唯一约束 用户+日期,运行

ALTER TABLE users  ADD UNIQUE KEY user_date_idx (user,  thedate);

【讨论】:

【参考方案4】:

我知道这是个老问题,这就是我解决问题的方法 -

ALTER TABLE `student_info` ADD `sn` INT(3) UNIQUE NOT NULL AUTO_INCREMENT FIRST         

【讨论】:

以上是关于mysql自动增加的字段怎么设置初始值的主要内容,如果未能解决你的问题,请参考以下文章

mysql主键设置了自增以后,怎么修改初始值?

怎么在mysql的字段中设置默认值

Mysql中怎么使设置了自动增加的id,实现动态更新?

怎么用SQL语句添加新字段并设置默认值

mysql里的表怎么改列的默认值

JIRA上字段的默认值怎么配置