【MYSQL】mysql约束---自增长约束(auto_increment)

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飞升篇】MySQL主从复制灵魂三问:Binlog怎么选?线程如何工作?延迟怎么解?
mysql·性能优化·binlog·主从复制·数据库运维·并行复制·延迟解决
运维行者_4 分钟前
用Applications Manager监控HAProxy:保障负载均衡高效稳定
运维·开发语言·前端·数据库·tcp/ip·负载均衡·服务器监控
weixin1997010801611 分钟前
汽车之家item_search - 根据地区获取二手车列表接口对接全攻略:从入门到精通
数据库·汽车
银发控、8 小时前
MySQL联合索引
数据库·mysql
予枫的编程笔记8 小时前
【MySQL修炼篇】从踩坑到精通:事务隔离级别的3大异常(脏读/幻读/不可重复读)解决方案
数据库·mysql·后端开发·数据库事务·事务隔离级别·rr级别·脏读幻读不可重复读
一起养小猫10 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
世界尽头与你10 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试
韩立学长10 小时前
【开题答辩实录分享】以《智能大学宿舍管理系统的设计与实现》为例进行选题答辩实录分享
数据库·spring boot·后端
Henry Zhu12310 小时前
数据库(五):反规范化
数据库
Mr_Xuhhh10 小时前
MySQL函数详解:日期、字符串、数学及其他常用函数
java·数据库·sql