mysql 自增长约束(auto_increment)的使用
作者:hefaxiang
1、概念
在Mysql中,当主键为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。
注意:自增长约束通常与主键放在一起使用。
通过给字段添加auto_increment属性来实现主键的增长。
2、语法
字段名 数据类型 primary key auto_increment
3、操作
示例:
注意:自增长约束默认情况下主键的值时从1开始的。
示例;
4、特点
(1)默认情况下,auto_increment的初识值是1,每新增一条记录,字段值会自动加1
(2)一个表只能有一个字段使用auto_increment约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)
(3)auto_increment约束的字段必须具备NOT NULL属性。
(4)auto_increment约束的字段只能是整数类型。(TINYINT, SMALLINT, INT, BIGINT等)
(5)auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment就会失效。
5、指定自增字段初识值:
如果第一条记录设置了该字段的初识值,那么新增加的记录就会从这个初识值开始自增。例如:如果表中插入的第一条记录的id值设置为5,那么再插入记录时,id值就会从5开始开始往上增加。
(1)创建表时指定
例如:
create table t_user2( id int primary key auto_increment, name varchar(200) )auto_increment=100;
#往表t_user2中插入数据时,id值会从100开始。
示例:
(2)创建表之后指定
例如:
create table user( id int primary key auto_increment, name varchar(20) ); alter table user auto_increment=120;
示例;
(3)delete 和truncate在删除后自增列的变化
1)delete数据之后,自动增长从断电开始。即:delete删除数据之后,自增长还是在最后一个值基础上加1.
示例:
delete前:
delete后:
2)truancate数据之后,自动增长从默认起始值开始,即:truncate删除之后,自增长从1开始。
示例:
truncate前:
truncate后;
总结:
在有起始值的情况,delete删除数据之后自增长还是在最后一个值基础上加1,而truncate删除数据之后,自增长从1开始。
到此这篇关于mysql 自增长约束(auto_increment)的使用的文章就介绍到这了,更多相关mysql 自增长约束内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!