Mysql之auto_increment(自动增长)
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(自动增长)相关推荐
- mysql触发器主机自动增长_三分钟带你分清 Mysql 和 Oracle 之间的误区
摘要:Mysql 和Oracle,别再傻傻分不清. mysql 和Oracle 在开发中的使用是随处可见的,那就简单去了解一下这俩款火的不行的数据库. 本质区别: Oracle数据库是一个对象关系数据 ...
- mysql字段是自动增长类型结果却不是连续的
今天建了一张表,设置其"id"属性为自动增加类型,但是在查看所有数据的时候,却发现"id"的值不是连续增加的.建表的语法如下: mysql> create ...
- MySQL中的自动增长
hello,大家好,我是你们的怪味老王,今天我们简单的说说自动增长 自动增长的作用: 问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败. 如何解决:为主键生成自动增长的值 ...
- MySQL 数据库生成自动增长序号
Oracle 数据库中有 ROWNUM 这个功能,查询 list 后生成序号,很是方便,但 MySQL 是模拟了 Oracle 和 SQL Server 中的大部分功能,可自动生成序号却没有现成的函数 ...
- 【MySQL知识点】自动增长
- 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. ...
- Mysql,SqlServer,Oracle主键自动增长的设置
Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...
- mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始
mysql自动增长的问题,如何恢复从1开始 在一个表中我设置到autoid为自动增长列 例如有如下数据 1 张三 男 20 2 王五 男 22 3 李四 男 25 4 陈大 男 19 现在我把 aut ...
- sqlserver新增主键自增_深入Mysql,SqlServer,Oracle主键自动增长的设置详解
1.把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: create table customers(id i ...
- 深入Mysql,SqlServer,Oracle主键自动增长的设置详解
1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: 复制代码 代码如下: create table c ...
最新文章
- ListView滑动位置精准记忆
- 使用 screen 管理你的远程会话
- 8.1 mnist_soft,TensorFlow构建回归模型
- PTS + ARMS打造性能和应用诊断利器
- python语言中print函数的作用_python中如何使用print函数
- 一张图片解决 Python 所有内置异常
- window.location.href和window.location.replace
- filter的详细配置
- JQ-实现图片纵向滚动的效果
- 一文了解Android游戏SDK开发
- 需求与商业模式分析-2-商业模式类型
- 电商扣减库存_什么样的电商产品经理更值钱?先解决这个难题!
- 微擎支持html微信支付,微信小程序云开发:现已原生支持微信支付
- linux在文件夹压缩,在linux下如何将文件夹压缩成.tgz文件
- Linux安装iso镜像中的软件
- 0x80004005
- 计算机网络传输介质的特点,计算机网络基础:数据通信技术之传输介质
- python是真刑啊!爬虫这样用,离好日子越铐越近了~
- 使用Android Studio 日常小问题
- I/O 管理 —— I/O控制器
热门文章
- 【GreenDao学习笔记】SQLite数据库保存float/double小数类型精度丢失
- python项目总结
- 遇到网站被黑,怎么解决?
- esp32上传文件方法
- python3GUI--微博图片爬取工具V1.5 By:PyQt5(附源码)
- 像向日葵一样活着——想起了从幼稚园到现在的同桌们
- Bootstrap-collapse
- C++ IO流学习笔记
- DayDayUp:平均每篇文章1毛! 本博主自2020年6月1日起,如有任何问题可在博客贴吧留言或者私信博主(包括并不限于GUI软件编写、安装及编程语言中的bug、AI算法设计等),非诚勿扰!
- 辰智:2018中国餐饮大数据白皮书