路的好坏不在于崎岖多少, 只在于谁能最终达到目标。——申宝峰

  1. auto_increment是MySQL唯一扩展的完整性约束,当向数据库表中插入新纪录时,字段上的值会自动生成唯一的id。在设置具体的auto_increment约束时,一个数据库表中只能有一个字段使用该约束,并且该字段必须是整数类型。
-- 新建学生表
CREATE TABLE student (id INT(6) NOT NULL PRIMARY KEY AUTO_INCREMENT,name VARCHAR(8),sex CHAR(1)
);
-- 插入数据
INSERT INTO student VALUES(NULL, "王五", 'b');
INSERT INTO student VALUES(NULL, "张三", 'g');

结果如下:

  1. 刷新表之后可以看出,id的值默认从1开始
  2. InnoDB引擎的自增值每次重启后,第一次打开表的时候,都会去找自增值的最大值max,然后将max+步长作为这个表当前的自增值
  3. 如果指定具体的值,倘若这个值小于目前的自增字段的最大值,则输入失败,相反,如果大于则插入成功,但下一次自增则是在自增值得最大值基础上自增。
INSERT INTO student VALUES(20, "小七", 'g');

结果如图:

  1. – last_insert_id()查看自增值,不带参数时,
-- 该函数返回最近一个insert语句生成的第一个自动增长列的值(最大的),值为bigint unsigned类型。
select last_insert_id();

  1. 当你删除了自增字段的最大值的时候,如果你插入新的数据的时候,它会在你没删除的时候的最大值得基础上加1,而不是在你删除后的最大值加1。
-- 修改当前auto_increment值
alter table db1.student auto_increment= num; # num 为你要更新的字段最大值的值

完整代码:

 show DATABASES;  # 显示当前存在的数据库
create database db1;  # 创建数据库
create database db2;  # 创建数据库
use db1;    # 选择数据库
drop database db2;     # 删除数据库
-- show engines; # 查看支持的存储引擎
-- 新建学生表
CREATE TABLE student (id INT(6) NOT NULL PRIMARY KEY AUTO_INCREMENT,name VARCHAR(8),sex CHAR(1)
);-- 插入数据
INSERT INTO student VALUES(NULL, "王五", 'b');
INSERT INTO student VALUES(NULL, "张三", 'g');-- 修改当前auto_increment值
alter table db1.student auto_increment=4;-- 插入数据
INSERT INTO student VALUES(NULL, "李四", 'b');
INSERT INTO student VALUES(NULL, "小七", 'g');
INSERT INTO student VALUES(NULL, "李四", 'b');
INSERT INTO student VALUES(NULL, "小七", 'g');
INSERT INTO student VALUES(NULL, "李四", 'b');
INSERT INTO student VALUES(NULL, "小七", 'g');
INSERT INTO student VALUES(NULL, "李四", 'b');
INSERT INTO student VALUES(NULL, "小七", 'g');
INSERT INTO student VALUES(NULL, "李四", 'b');
INSERT INTO student VALUES(NULL, "小七", 'g');
INSERT INTO student VALUES(NULL, "李四", 'b');
INSERT INTO student VALUES(20, "小七", 'g');
INSERT INTO student VALUES(2, "小七", 'b');-- last_insert_id()查看自增值,不带参数时,
-- 该函数返回最近一个insert语句生成的第一个自动增长列的值(最大的),值为bigint unsigned类型。
select last_insert_id();

mysql - 表字段值自增(auto_increment)相关推荐

  1. mysql表字段值处理回车符换行符

    查询数据库时,字段值一直无法匹配上,但是看数据库,觉得没问题,仔细排查后,发现可能是数据入口有问题,导致这个字段的所有的值,后面都加的有回车和换行符. 鼠标悬浮时没问题,但是如果真正的点击这个字段时, ...

  2. 列的完整性约束——设置表字段值自动增加(AUTO_INCREMENT)

    系列文章目录 列的完整性约束 文章目录 系列文章目录 前言 一.语句格式 二.实际应用 总结 前言 AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值 ...

  3. c mysql 的默认值_为mysql表字段设置默认值的方法及注意细节

    为mysql表字段设置默认值的方法及注意细节,有需要的朋友可以参考下. 环境:MySQL 5.1 + 命令行工具 问题:MySQL表字段设置默认值 解决方法: 代码如下: --SQL: CREATE ...

  4. mysql 整型默认值,MySQL表字段设立默认值

    mysql表字段设置默认值 环境 MySQL 5.1 + 命令行工具 问题 MySQL表字段设置默认值 解决 --SQL: CREATE TABLE test( i_a int NOT NULL DE ...

  5. MySQL表字段字符集不同导致的索引失效问题

    MySQL表字段字符集不同导致的索引失效问题 转自:MySQL表字段字符集不同导致的索引失效问题 1. 概述 昨天在一位同学的MySQL机器上面发现了这样一个问题,MySQL两张表做left join ...

  6. MySQL表字段不能用describe

    MySQL表字段不能用describe 前言 今天写毕设,我的表有一个字段用来存放描述,于是就用了describe,我项目用了Spring Boot和Mybatis-Plus,当我新增数据时,发现控制 ...

  7. mysql 表字段信息从一张表迁移到另一张表_MySQL(数据库)笔记

    ###数据库 之前通过流去操作文件保存数据库的弊端: 1.执行效率低 2.开发成本高 3.一般只能保存小量数据 4.只能保存文本数据 ####什么是DB - DataBase 数据库:代表文件集合 # ...

  8. mysql 表字段信息从一张表迁移到另一张表_Mysql之分库分表

    互联网系统需要处理大量用户的请求.比如微信日活用户破10亿,海量的用户每天产生海量的数量:美团外卖,每天都是几千万的订单,那这些系统的用户表.订单表.交易流水表等是如何处理呢? 数据量只增不减,历史数 ...

  9. Mysql 表字段(列)编辑 (增删改)

    为什么80%的码农都做不了架构师?>>>    列声明 列名 列类型 [列属性] [默认值] alter table 表名 删除,增加 删除字段:alter table 表名 dro ...

最新文章

  1. hbase java api 两种方式
  2. 什么意思_手机HD是什么意思 手机信号区显示hd是什么意思
  3. python ---------函数
  4. 你所不知道的getResource()在maven下的黑洞!
  5. 异常处理、socke基于TCP协议编程
  6. jzoj3792,P2062-分队问题【贪心】
  7. SpringBoot之获取配置文件中的数据
  8. CCF201703-2 学生排队(100分)
  9. 视频教程-WebService实战讲解课程-Java
  10. 如何做一个基于微信积分商城小程序系统毕业设计毕设作品
  11. python读取svg转emf_玩玩矢量图标,SVG转换EMF
  12. 服务器虚拟化分步实施,服务器虚拟化解决实施方案.doc
  13. RESTful设计风格
  14. Android自定义控件——模拟抛体加速减速效果
  15. 思科下一代模拟器EVE-NG安装
  16. Dubbo实战(一)快速入门
  17. 朱清时院士:不可思议的量子意识
  18. pythonwhile true循环_python学习-while True的用法
  19. react: 动态设置ant-design/icons图标
  20. 如何编辑图片?图片如何编辑修改?

热门文章

  1. Redis知识点总结(操作入门级)
  2. 数据结构——【堆】详解
  3. 【论文解析】Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation
  4. 优麒麟Kyrin Ubuntu20.04使用tar解压的方法安装mysql5.7.23超详细
  5. Unity细节操作(固定分辨率,打包窗口化,字体清晰)
  6. 10 分钟理解 BFC 原理
  7. Android一键拍照功能
  8. 偏最小二乘(pls)回归分析 matlab
  9. 小姐姐想搭建服务器永久运行网站,我用U盘大小的树莓派神器搞定了!
  10. 关于nodejs部署时的一些错误(多多客SaaS)