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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 列的完整性约束——设置表字段值自动增加(AUTO_INCREMENT)

前言


AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值会自动生成唯一的ID。在具体设置AUTO_INCREMENT约束时,一个数据库表中只能有一个字段使用该约束,该字段的数据类型必须是整数类型。由于设置AUTO_INCREMENT约束后的字段会生成唯一的ID,因此该字段也经常会同时设置成PK主键。


一、语句格式


 设置表中某字段值的自动增加约束非常简单,可以在MySQL数据库管理系统中通过SQL语句AUTO_INCREMENT来实现,其语法形式如下:


CREATE TABLE tablename(


   propName propType AUTO_INCREMENT, ......


);


       在上述语句中,tablename参数表示所要设置非空约束的字段名字,propName参数为属性名,propType为属性类型,propName字段要设置自动增加约束。默认情况下,字段propName的值从1开始增加,每增加一条记录,记录中该字段的值就会在前一条记录(或已存在的最大值(包括曾经存在的))的基础上加1。

二、实际应用

mysql> create database school;   #创建数据库school


mysql> use school;   #选择数据库school


mysql> create table class(id int PRIMARY KEY AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64));         #创建表class,设置字段id为自增长


mysql> show create table class ;  #查询表class 的定义

注意: mysql8 中,AUTO_INCREMENT 必须设为键(主键、外键和唯一键均可)! 否则会报错!


总结

设置表字段值自动增加(AUTO_INCREMENT)格式:

create table tablename(字段名  数据类型  auto_increment ,... ... );

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
SQL 存储 缓存
数据库必知词汇:AUTO INCREMENT(自增)字段
在数据库中,我们通常希望在每次插入新记录时,自动地创建主键字段的值。此时,我们可以在表中创建一个AUTO INCREMENT字段。注意设置自增字段时,字段类型必须为Int型,一般都用来作为主键。
2629 0
|
6月前
|
SQL Oracle 关系型数据库
SQL PRIMARY KEY 约束- 唯一标识表中记录的关键约束
SQL NOT NULL 约束用于强制确保列不接受 NULL 值。这意味着该字段始终包含一个值,而不允许插入新记录或更新记录时不提供此字段的值。
136 0
|
Oracle 关系型数据库 MySQL
数据库中设置列/字段自增
介绍数据库中设置列/字段自增(Oracle和Mysql)的实现方式
数据库中设置列/字段自增
为什么要设置主键?
为什么要设置主键?
74 0
|
SQL 关系型数据库 MySQL
列的完整性约束——设置表字段的默认值(DEFAULT)
列的完整性约束——设置表字段的默认值(DEFAULT)
|
SQL 关系型数据库 MySQL
列的完整性约束——设置表字段的非空约束(NOT NULL, NK)
列的完整性约束——设置表字段的非空约束(NOT NULL, NK)
具有默认值的表
具有默认值的表
71 1
获取表的所有字段属性
获取表的所有字段属性
|
SQL 算法 测试技术
Guid算法与标识列(自动增长字段)在表中的应用
Guid算法与标识列(自动增长字段)在表中的应用
180 0
Guid算法与标识列(自动增长字段)在表中的应用