mysql 自增长约束(auto_increment)的使用

 更新时间:2024年11月11日 09:38:27   作者:hefaxiang  
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 自增长约束(auto_increment)的使用的文章就介绍到这了,更多相关mysql 自增长约束内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql中时间字段设置遇到的问题

    mysql中时间字段设置遇到的问题

    这篇文章主要介绍了mysql中时间字段设置遇到的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MySQL几点重要的性能指标计算和优化方法总结

    MySQL几点重要的性能指标计算和优化方法总结

    下面小编就为大家带来一篇MySQL几点重要的性能指标计算和优化方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySQL中子查询的具体实现

    MySQL中子查询的具体实现

    MySQL 提供了子查询这一强大工具,帮助我们实现嵌套查询,本文主要介绍了MySQL中子查询的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • MySQL的子查询中FROM和EXISTS子句的使用教程

    MySQL的子查询中FROM和EXISTS子句的使用教程

    这篇文章主要介绍了MySQL的子查询中FROM和EXISTS子句的使用教程,子查询是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-12-12
  • sysbench-0.4.12编译安装和CPU测试例子分享

    sysbench-0.4.12编译安装和CPU测试例子分享

    这篇文章主要介绍了sysbench-0.4.12编译安装和CPU测试例子分享,本文还包含安装过程中的错误及解决方法,使用时的错误和解决方法,需要的朋友可以参考下
    2014-07-07
  • MySQL修改密码的几种方式

    MySQL修改密码的几种方式

    这篇文章主要介绍了MySQL修改密码的几种方式,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-12-12
  • mysql5.7.17在win2008R2的64位系统安装与配置实例

    mysql5.7.17在win2008R2的64位系统安装与配置实例

    本篇文章主要给大家介绍了mysql5.7.17在win2008R2的64位系统安装与配置实例,以及在配置过程中遇到的问题解决办法。
    2017-11-11
  • MySQL 启动成功但未监听端口的解决方法

    MySQL 启动成功但未监听端口的解决方法

    这篇文章主要给大家介绍了关于MySQL 启动成功但未监听端口的解决方法,文中通过图文给大家介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • mysql属于关系型数据库吗

    mysql属于关系型数据库吗

    在本篇文章里小编给大家分享的是一篇关于mysql是否属于关系型数据库的相关文章,有兴趣的朋友们可以参考下。
    2020-06-06
  • MySQL系列数据库设计三范式教程示例

    MySQL系列数据库设计三范式教程示例

    这篇文章主要为大家介绍了MySQL系列之数据库设计三范式的教程示例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10

最新评论