MySQL - 表字段的自增约束

2023-11-02

设置表字段值自动增加(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 table class4(id int primary key AUTO_INCREMENT, name varchar(64), teacher varchar(64));	#创建表class4,设置id列为主键/自增长
mysql> desc class4;		#查询表class4约束信息

在这里插入图片描述

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL - 表字段的自增约束 的相关文章

随机推荐

  • MATLAB查看变量的类型

    MATLAB查看变量的类型 gt gt a 100 a 100 gt gt class a ans double gt gt single a ans single 100 gt gt class ans ans single class
  • ubuntu 下 Android系统编译开 发 环境搭建

    官方的搭建android 系统源码 开发环境教程 https source android com source building 这个网址如果打不开 需要翻墙操作 Ubuntu JDK安装配置的详细步骤 Ubuntu JDK安装配置1 下
  • Prophet模型中plot_components四种主要成分含义

    Prophet模型中plot components四种主要成分含义 在Prophet模型中 plot components函数可以对时间序列数据的不同成分进行可视化分析 从而为使用者提供一定的参考依据 其中有四个主要成分 含义如下 tren
  • 多智能体强化学习与博弈论-博弈论基础2

    多智能体强化学习与博弈论 博弈论基础2 Repeated Games 重复博弈 之前我们介绍了一些单次博弈的例子 除了单次博弈外 重复博弈也是经常在我们生活中出现的 在重复博弈中智能体有机会在单次的博弈中占到对手的便宜 但是由于考虑到后来还
  • C语言动态内存管理(malloc,calloc,free,realloc)

    动态内存管理 前言 一 malloc 二 free 三 calloc 四 realloc 五 动态内存管理的常见问题 1 对空指针进行解引用操作 2 对动态开辟的空间越界访问 3 对非动态开辟的内存空间free 4 使用free释放动态内存
  • go语言使用thrift协议实现客户端和服务端报not enough arguments in call to oprot.WriteMessageBegin错误解决方案

    正常步骤 安装golang的Thrift包 go get git apache org thrift git lib go thrift 安装 Thrift 的 IDL 编译工具 http www apache org dyn closer
  • Mybatis学习笔记

    1 概述 MyBatis是一个优秀的持久层框架 它对JDBC操作数据库的过程进行封装 使开发者只需要关注 SQL本身 而不需要花费精力去处理例如注册驱动 创建connection 创建statement 手动设置参数 结果集检索等JDBC繁
  • R语言与机器学习中的回归方法学习笔记

    机器学习中的一些方法如决策树 随机森林 SVM 神经网络由于对数据没有分布的假定等普通线性回归模型的一些约束 预测效果也比较不错 交叉验证结果也能被接受 下面以R中lars包包含数据集diabetes为例说明机器学习中的回归方法 一 数据集
  • numpy(一)

    numpy作为一个科学计算的基础库 他能干的python也能干啊 我还要他干啥 先算个题比较一下 ndarray与python原生list的运算效率对比 import random import time import numpy as n
  • 剑指Offer第三十六题:两个链表的第一个公共结点

    题目描述 输入两个链表 找出它们的第一个公共结点 思路 这里两个单向链表如果有公共结点肯定是下面这种情况 最后通过公共结点汇合 1 看到这题我直接想到哈希 直接利用map存储一个链表 第二个链表遍历查找地址即可 2 链表的叠加 如下图 假设
  • 前沿技术创新是人工智能发展的动力之源 不断拓展能力边界

    近日 WAIC2022上海人工智能开发者大会在中国 上海 自由贸易试验区临港新片区举行 记者从会上获悉 上海将加大力度推动算法开源 数据开放 算力开发 与国内外知名开源社区互联互通 打造国际人工智能开发生态网络的关键节点 前沿技术创新是人工
  • shell脚本之 函数——【初学者必看】

    shell脚本之函数 一 shell函数定义 1 1函数注意事项 1 2 函数返回值 1 3函数调用的方法 1 4 函数的传参 1 5 函数的作用范围 1 6函数的参数 1 6 1参数的用法 1 6 2参数的表示方法 1 6 3 经典案例
  • Flutter实战Align使用详解

    Align相关属性 Align Key key this alignment Alignment center this widthFactor this heightFactor Widget child alignment 需要一个Al
  • 关于C++中unsigned类型

    我们知道c 中的long long 也知道c 里long long有符号 unsigned long long和long long的区别就在于 1 unsigned long long 没有符号 表示范围是0到264 1 2 long lo
  • Java实现Kafka生产者和消费者的示例(1),mysqlsql语句面试题

    RecordMetadata recordMetadata null try 将消息发送到Kafka服务器的名称为 one more topic 的Topic中 recordMetadata kafkaProducer send new P
  • liboqs-go库在Mac编译使用

    liboqs go库在Mac编译使用 liboqs go是liboqs 量子安全密码算法的开源C库的go封装 将在mac m1上部署和开发使用 所以简单记录下过程 部署 安装基础依赖工具 brew install cmake ninja o
  • Python3,5行代码,Chatxxx能对PDF文件进行旋转、提取、合并等一系列操作,看了这篇,80岁老奶奶走路都不扶墙了。

    ChatPDF的妙用 1 引言 2 代码实战 2 1 原理 2 2 安装 2 2 示例 2 2 1 创建PDF文件 2 2 2 旋转PDF文件 2 2 3 拆分PDF文件 2 2 4 合并PDF文件 2 2 5 提取PDF文件内容 3 总结
  • Linux编译器

    Vi是LINUX系统的第一个全屏幕交互式编译工具 vi的查找与替换 lt 要查找的字符 gt 向下查找要找查的字符 lt 要查找的字符 gt 向上查找要找查的字符 range s string1 string2 gc 替换 例如 10 20
  • 读书笔记----《编写高质量代码:改善Java程序的151个建议》第八/九章

    读书笔记 编写高质量代码 改善Java程序的151个建议 第八 九章 第八章 异常 110 提倡异常封装 111 采用异常链传递异常 112 受检异常尽可能转化为非受检异常 113 不要在finally块中处理返回值 114 不要在构造函数
  • MySQL - 表字段的自增约束

    设置表字段值自动增加 AUTO INCREMENT AUTO INCREMENT是MySQL唯一扩展的完整性约束 当向数据库表中插入新记录时 字段上的值会自动生成唯一的ID 在具体设置AUTO INCREMENT约束时 一个数据库表中只能有