Mysql之auto_increment(自动增长)

auto_increment不能像primary一样直接加在数据类型后,比如:

create table t20(id int auto_increment,name char(16))

这样写会报错,正确写法是:

create table t20(id int primary key auto_increment,name char(16))

想要查看表的数据(非鼠标点击设计表而是代码查看):

desc t20

可以看到:

接着,我们往建好的表t20中插入数据:

insert into t20(name) values('egon'),('alex'),('wxx')

运行成功,我们来查看下表的内容:

可以看到id给我们从1开始自动递增(且增幅为1)

这个时候我如果想插入一个id为7的怎么办?当然可以,指定好id就行:

insert into t20(id,name) values(7,'egon1')

运行成功,我们来查看下表格,内容被成功添加进去了:

但是这里存在一个问题,如果我再次添加(让其自动递增的情况):

insert into t20(name) values('egon2'),('egon3')

运行,查看表结果,id是从7的下一个开始递增的,而不是填补4、5的空缺:


这里顺带一提:
这段代码可以查看步长与起始偏移量:

show variables like 'auto_inc%'
步长:auto_increment_increment   默认为1
起始偏移量:auto_increment_offset   默认为1设置步长:
·单次(退出后下次就仍为默认步长):set session auto_increment_increment=5
·全局(设置完后要退出重新查看才能看到更改成功后的效果):set global auto_increment_increment=5设置起始偏移量:·set global auto_increment_increment_offset=3·强调:起始偏移量<=步长注意:如果修改设置了表的步长这些,这时候你清空表(用的delete from xxx) 这时候你再往xxx表里添加时候,是从删除的id的下一步开始添加的(比如删之前数据id为10,步长为3,重新添加数据就是从13开始)
所以我们清空表,为了清空前边的数据(不管步长多少,只为了到时候增加数据时候从1开始),我们应该用:truncate xxx (表名为xxx)

Mysql之auto_increment(自动增长)相关推荐

  1. mysql触发器主机自动增长_三分钟带你分清 Mysql 和 Oracle 之间的误区

    摘要:Mysql 和Oracle,别再傻傻分不清. mysql 和Oracle 在开发中的使用是随处可见的,那就简单去了解一下这俩款火的不行的数据库. 本质区别: Oracle数据库是一个对象关系数据 ...

  2. mysql字段是自动增长类型结果却不是连续的

    今天建了一张表,设置其"id"属性为自动增加类型,但是在查看所有数据的时候,却发现"id"的值不是连续增加的.建表的语法如下: mysql> create ...

  3. MySQL中的自动增长

    hello,大家好,我是你们的怪味老王,今天我们简单的说说自动增长 自动增长的作用: 问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败. 如何解决:为主键生成自动增长的值 ...

  4. MySQL 数据库生成自动增长序号

    Oracle 数据库中有 ROWNUM 这个功能,查询 list 后生成序号,很是方便,但 MySQL 是模拟了 Oracle 和 SQL Server 中的大部分功能,可自动生成序号却没有现成的函数 ...

  5. 【MySQL知识点】自动增长

  6. 2019-7-26 [MySQL] 安装与介绍 语句分类/语法 数据类型 DDL数据定义:创建/查看/删除/使用 DML数据操作:增删改 主键约束 自动增长列 非空约束 默认值 Navicat

    文章目录 0.知识回顾 1.数据库介绍 1.1 数据库概述 1.1.1 什么是数据库 1.1.2 什么是数据库管理系统 1.1.3 数据库与数据库管理系统的关系 1.2 数据库表 1.3 表数据 1. ...

  7. Mysql,SqlServer,Oracle主键自动增长的设置

    Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...

  8. mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始

    mysql自动增长的问题,如何恢复从1开始 在一个表中我设置到autoid为自动增长列 例如有如下数据 1 张三 男 20 2 王五 男 22 3 李四 男 25 4 陈大 男 19 现在我把 aut ...

  9. sqlserver新增主键自增_深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    1.把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id i ...

  10. 深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: 复制代码 代码如下: create table c ...

最新文章

  1. ListView滑动位置精准记忆
  2. 使用 screen 管理你的远程会话
  3. 8.1 mnist_soft,TensorFlow构建回归模型
  4. PTS + ARMS打造性能和应用诊断利器
  5. python语言中print函数的作用_python中如何使用print函数
  6. 一张图片解决 Python 所有内置异常
  7. window.location.href和window.location.replace
  8. filter的详细配置
  9. JQ-实现图片纵向滚动的效果
  10. 一文了解Android游戏SDK开发
  11. 需求与商业模式分析-2-商业模式类型
  12. 电商扣减库存_什么样的电商产品经理更值钱?先解决这个难题!
  13. 微擎支持html微信支付,微信小程序云开发:现已原生支持微信支付
  14. linux在文件夹压缩,在linux下如何将文件夹压缩成.tgz文件
  15. Linux安装iso镜像中的软件
  16. 0x80004005
  17. 计算机网络传输介质的特点,计算机网络基础:数据通信技术之传输介质
  18. python是真刑啊!爬虫这样用,离好日子越铐越近了~
  19. 使用Android Studio 日常小问题
  20. I/O 管理 —— I/O控制器

热门文章

  1. 【GreenDao学习笔记】SQLite数据库保存float/double小数类型精度丢失
  2. python项目总结
  3. 遇到网站被黑,怎么解决?
  4. esp32上传文件方法
  5. python3GUI--微博图片爬取工具V1.5 By:PyQt5(附源码)
  6. 像向日葵一样活着——想起了从幼稚园到现在的同桌们
  7. Bootstrap-collapse
  8. C++ IO流学习笔记
  9. DayDayUp:平均每篇文章1毛! 本博主自2020年6月1日起,如有任何问题可在博客贴吧留言或者私信博主(包括并不限于GUI软件编写、安装及编程语言中的bug、AI算法设计等),非诚勿扰!
  10. 辰智:2018中国餐饮大数据白皮书