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语句,检查表结构信息,可以看到刚将字段正确添加到表中,如下图所示。
参考技术A1、打开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、结果如下:
注意事项:设置前,被设置的字段一定是允许为自增的,否则无效。
我需要自动增加 MySQL 中不是主键的字段
【中文标题】我需要自动增加 MySQL 中不是主键的字段【英文标题】:I need to auto_increment a field in MySQL that is not primary key 【发布时间】:2010-11-12 04:28:29 【问题描述】:现在,我有一个主键是auto_increment
字段的表。但是,我需要将主键设置为username
、date
(以确保不能有重复的用户名和日期)。
但是,我需要 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自动增加的字段怎么设置初始值的主要内容,如果未能解决你的问题,请参考以下文章