SQL中自增(AUTO_INCREMENT)字段介绍
本文主要介绍 SQL(Structured Query Language)中的自增(AUTO_INCREMENT)字段的相关知识。
1 概述
AUTO_INCREMENT 会在新记录插入表中时,生成一个唯一的数字。
如果希望在每次插入新记录时,自动地创建主键字段的值,那么就可以在表中创建一个 AUTO_INCREMENT 字段。
2 用法
例如,使用下列语句创建表 customers,同时将主键 customer_id 设置为自增字段,命令如下:
mysql> create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
Query OK, 0 rows affected (0.03 sec)
3 说明
1. 如果把“NULL”插入到 AUTO_INCREMENT 数据列里,MySQL 将自动生成下一个序列编号。序列编号从 1 开始,并以“1”为基数递增;
2. 把“0”插入 AUTO_INCREMENT 数据列的效果,与插入“NULL”值一样,但不建议这样做,最好还是直接插入“NULL”值;
3. 在插入记录时,如果没有为 AUTO_INCREMENT 数据列明确地指定一个数值,则等同插入“NULL”值;
4. 在插入或更新记录时,如果为 AUTO_INCREMENT 数据列明确指定了一个数值,则会出现两种情况:情况一,如果插入的值与已有的编号重复,则会出现错误信息,因为 AUTO_INCREMENT 数据列的值必须是唯一的;情况二,如果插入的值大于现有编号的值,则会把该值插入到数据列中,并使 AUTO_INCREMENT 数据列的下一个编号从这个新的编号值开始递增(即跳过了一些编号)。
SQL中自增(AUTO_INCREMENT)字段介绍相关推荐
- 通过程序获得SQL Server自增型字段的函数:GetKey
通过程序获得SQL Server自增型字段的函数:GetKey 概述: 通过程序来产生自增型字段,可以避免多用户操作的读取脏数据,操作也很简便.可以更好的在程序中控制这些关键字段的数值. 关键步骤: ...
- Mysql在sql中截取时间类型字段的年月日和时间-DATE_FORMAT() 函数
Mysql在sql中截取时间类型字段的年月日和时间 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式.我们使用 N ...
- oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍
这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...
- sql中模糊查询的字段中包含百分号%的语句
sql中模糊查询的字段中包含百分号%的语句: select * from 表名 where 字段 like '%\%%' ESCAPE '\'; Mysql里用\%,比如: select * from ...
- mysql中自增auto_increment功能的相关设置及问题
1. mysql中的自增auto_increment功能相信每位phper都用过,本文就为大家分享一下mysql字段自增功能的具体查看及设置方法 mysql中的自增auto_increment功能相信 ...
- sql中的indexof,函数介绍
取出文件名中的后缀名,例如:1.exe变成exe declare @fileName varchar(100) set @fileName='aaa.exe' select substring(@fi ...
- oracle dba_hist tablepsace,oracle数据库dba_hist等视图中的Delta相关字段介绍
从10g开始,我们采用awr报告来分析数据库的性能,我们发现增加了很多dba_hist相关的视图,其中基于时间相关的字段delta开始出现,对于我们计算语句的时间消耗很有帮助! 其实Delta 表示第 ...
- oracle数据库dba_hist等视图中的Delta相关字段介绍
从10g开始,我们采用awr报告来分析数据库的性能,我们发现增加了很多dba_hist相关的视图,其中基于时间相关的字段delta开始出现,对于我们计算语句的时间消耗很有帮助! 其实Delta 表示第 ...
- mysql的datepart函数_MySQL中的 DATE_FORMAT 与 SQL 中的 DATEPART()函数使用介绍
本小白最近学习MySQL,因为之前是已经有学过微软大佬的SQL Server所以自认为理解的还是稍快的(滑鸡),好了说正事. 今天在写一个查询语句时,需要用到 一个日期函数:DATEPART( ) 因 ...
- 如何取得SQL中自增伴位的下一个值
一般來說, 俱有 identity 屬性欄位的 table 的目前值可以很容易地利用 max 函數來取得. 不過, 也很有可能 max 該筆資料已被刪除了, 所以利用 max 查找出來的結果不正確. ...
最新文章
- 掌握管理Linux磁盘和分区的方法 创建并挂载文件系统以及 创建并管理LVM
- ecma 2018, javascript spread syntax behaves like Object.assign
- thttpd+php 不加载php.ini 问题
- java中functional interface的分类和使用
- C# C/S 图片验证码功能源码
- 科研项目 | 深度参与前沿课题研究,全英华人教授协会(ABCP)资深学者亲授
- Java中不常见的关键字 / 修饰符(volatile , native , transient)
- 4.添加监听,使地图随鼠标,键盘移动并改变大小
- for的部分使用方法
- 【PAT】敲笨钟 (20 分)
- 盘点:2017年GitHub上30个优秀的机器学习项目
- 谷歌浏览器控制台preview乱码问题及原因
- CATIA P3 V5-6R2018 软件下载
- 【菜鸟窝出品】 python的变量和逻辑基础(python数据分析入门)
- 岭南学院python课程作业2-1
- FW: 业精于勤:量级与数量级的差异
- php 循环结构的联系题,php - 烧脑题,有一个程序循环逻辑问题,急在线等
- 融资、量产和一栈式布局,这家Tier 1如此备战高阶智驾决赛圈
- Inno Setup实例教程之一:软件安装和demo使用
- PYTHON 黑帽资料
热门文章
- 基于redis集群实现的分布式锁,可用于秒杀,定时器。
- 各国“未雨绸缪”致网络安全陷入困境 安全防御诱发“防御性入侵”
- java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
- RecyclerView 下拉刷新和加载更多
- [Java] Maven 建立 Spring MVC 工程
- 骑行在路上的IT两年
- 从Windows 1.0到Vista启动画面回顾
- [洛谷P1407][国家集训队]稳定婚姻
- MVVM 实战之计算器
- Java Script基础(一)