mysql之列属性篇五之 —— 自动增长(auto_increment)

mysql自定义表自增id步长 今天有个兄弟有个需求,需要单个表的自增id,增长步长为4, 之前配置主主环境的时候有两个参数控制步长和偏移量auto_increment_increment=2,auto_increment_offset=1,但这个是全局的并写在配置文件里面 现用下面的方法,实现session级别的自增id步长自定义 先看到,系统全局环境的自增情况,默认为1 mysql> SHOW VARIABLES 阅读详情

自动增长

自动增长:auto_increment,当给定某个字段该属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加后,填充数据。

通常自动增长用于逻辑主键。

原理

自动增长的原理:

1、 在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长

2、 当用户进行数据插入的时候,如果没有给定值,系统在原始值上再加上步长变成新的数据

3、 自动增长的触发:给定属性的字段没有提供值

4、 自动增长只适用于数值

使用自动增长(自动增长的列必须是个key,主键外键唯一键都行,且一张表只有能有一个自增长的字段(列))

基本语法:在字段之后增加一个属性auto_increment

插入数据:触发自动增长,不能给定具体值

 

修改自动增长

1、 查看自增长:自增长一旦触发使用之后,会自动的在表选项中增加一个选项(一张表最多只能拥有一个自增长)

另外几个表选项前面讲了,还多出了个 auto_increment=2:意思就是下次不向自增长列插入指定数值(如null)的话就插入2

注:可以像前面修改字符集那样修改自增长的值,但是自增长的值必须大于当前自增长列最大值,否则修改无效

2、 表选项可以通过修改表结构来实现

Alter table 表名 auto_increment = 值;

 

此时我再插入数据,自增长的值本应该为2变为了8

删除自动增长

删除自增长:就是在字段属性之后不再保留auto_increment,当用户修改自增长所在字段时,如果没有看到auto_increment属性,系统会自动清除该自增长

 

初始设置

在系统中,有一组变量用来维护自增长的初始值和步长

Show variables like ‘auto_increment%’;

第一个1为增量,第二个1为初始值

【MySQL中auto_increment有什么作用?】| 前端面试:实现一个简单的节流函数(Throttle)和防抖函数(Debounce)。 目录问题来源解释注意事项 问题来源 很多时候,MySQL语句中会出现【auto_increment】这个词汇,大多数时候,表都是自动生成的,刚开始学习MySQL数据库时会学习到,后来,渐渐地可能会忘记,那么这个语句的作用到底是什么意思?下面,来汇总一下: 解释 auto_increment是用于主键自动增长的,从1开始增长,当你把第一条记录删除时,再插入第二跳数据时,主键值是2,不是1。 例如: create table test ( id int(10) not null auto_increment, 阅读详情

相关推荐

MYSQL——数据库的自增id类型

MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 个字节,上限就是 2^32-1。既然自增 id 有上限,就有可能被用完。但是,自增 id 用完了会怎么样呢?

庄小焱 4904

你真的懂自增主键(auto_increment)?

   自增主键是我们在设计数据库表结构时经常使用的主键生成策略,主键的生成可以完全依赖数据库,无需人为干预,在新增数据的时候,我们只需要将主键设置为null,0或者不设置该字段,数据库就会为我们自动生成一个主键值。而且,自增主键是整数型,单调递增,对创建索引也十分友好,    自增主键使用起来方便、简单,但是你真的了解它吗?或者可以尝试回答一下几个问题? 1.自增主键标识符 auto_increment 如何增长? 2.并发环境下,数据库是如何保证主键值的正确性的? 3.可以用最大主键代替count()吗?

weixin_45701550的博客 5万+

【PostgreSQL教程】PostgreSQL 高级篇之 AUTO INCREMENT(自动增长)

AUTO INCREMENT(自动增长)会在新记录插入表中时生成一个唯一的数字。PostgreSQL 使用序列来标识字段的自增长,数据类型有 smallserial、serial 和 bigserial 。这些属性类似于 MySQL 数据库支持的 AUTO_INCREMENT 属性。

No8g攻城狮的博客 1563

mysql id自增步长为2解决办法

查看当前步长 show variables like '%increment%'; 如果: auto_increment_increment=2 执行: set @@global.auto_increment_increment = 1; set @@auto_increment_increment =1;

zhaoyahui_666的博客 1622

C#中使用OpenCV的常用函数

c# opencv 常见操作

大黄鸭在发光的专栏 1080

Oracle19c SYSAUX表空间爆满?手把手教你清理SM/ADVISOR和AUDSYS占用(附完整SQL)

本文详细解析了Oracle19c中SYSAUX表空间爆满的常见原因及解决方案,重点针对SM/ADVISOR和AUDSYS组件的空间占用问题提供了完整的SQL清理脚本。通过诊断查询、空间清理和预防性维护策略,帮助DBA有效管理SYSAUX表空间,确保数据库稳定运行。

weixin_28338005的博客 238

MySQL数据库——MySQL AUTO_INCREMENT:主键自增长

在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。

Itmastergo的博客 6万+

共享单车需求预测问题:建模篇

机器学习训练营——机器学习爱好者的自由交流空间(qq群号:696721295) 在上一篇里,我们使用可视化的方法分析了“共享单车”的数据集,理解了特征(变量)之间的关系。我们将在本篇建立几个模型预测单车的需求量,并比较它们的预测效果。 随机森林填充法 首先,导入必需的库、训练集和检验集。 import pylab import calendar import numpy as np impor...

wong2016的博客 1万+

Mysql设置auto_increment_increment和auto_increment_offset

查看与设置: show variables like '%auto_inc%'; show session variables like '%auto_inc%'; -- //session会话变量 show global variables like '%auto_inc%'; -- //全局变量 SET @auto_increment_in...

xinyuan的专栏 2万+

五段式S型算法笔记

又因为有 v-v0= 0.5jt通式: 所以有 vm-v0= 0.5jtm 所以有4vm-4v0= 2jtm。算法1: v=2vm-v0-0.5*jt+2jt*tm-2jtm*tm。加加速度j 自己设置 已知,vmax自己设置已知;所以有4vm-4v0= 2jtm带入算法1。

qq_36658033的博客 681

Mamba再封神!与YOLO结合,拿下二区!好发不卷!

相比传统的YOLO改进,Mamba是新技术,两者结合尚在蓝海阶段,可发挥空间大!更为关键的是,它在检测精度和速度方面,都让以往的YOLO模型难以望其项背!比如代表模型Mamba YOLO,便在参数减少45.5%、FLOPs减少50%的同时,精度还比YOLOv8高6.1%!这主要得益于,Mamba能够捕捉长期依赖关系,而YOLO则擅长捕捉局部特征,两者能够优势互补,且Mamba线性复杂度的特性,也有利于提高计算效率!为了让大家能够紧跟前沿发展,找到更多灵感启发,我给大家10种。

2401_88190197的博客 2507

PostgreSQL AUTO INCREMENT(自动增长)

PostgreSQL 自动增长实战手册摘要:本文全面介绍 PostgreSQL 的自动增长机制,包括 SERIAL(传统方式)、IDENTITY(推荐标准)和 SEQUENCE(底层对象)三种实现。详细对比了 SERIAL 与 IDENTITY 的语法特性、使用场景和推荐程度,提供建表示例与序列操作方法。涵盖并发安全、ID空洞处理、迁移注意事项等实战技巧,并给出最佳实践脚本。特别强调 IDENTITY 作为 SQL 标准方案的优势,适用于 PostgreSQL 10+ 版本,同时保留 SERIAL 的兼容性

m0_57545130的博客 989

应广单片机 按键点灯 PMS171B GPIO LED

我也是第一次使用这款单片机,参考网友的资料,写个最近简单的demo 测试用例 #include "extern.h" /*端口定义*/ BIT KEY : PA.0; BIT SW : PA.4; /*相应于main函数*/ void FPPA0 (void) { /*单片机内部RC震动时钟为 IHRC默认为16M,因此,IHRC/2=8M,系统时钟为8M*/ .ADJUST_IC...

大江的专栏 1000

3、 AUTO_INCREMENT:主键自增长

在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。 通过给字段添加 AUTO_INCREMENT 属性来实现主键自增长。语法格式如下: 字段名 数据类型 AUTO_INCREMENT 默认情况下,AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。 一个表中只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的

you can you up up up的博客 2509

手把手教你学simulink(90.1)--直流电动机实例:基于Simulink的基本模型的直流电动机(DC Motor)建模

直流电动机(DC Motor)因其结构简单、控制方便和良好的调速性能,广泛应用于各种工业自动化、机器人技术、家用电器以及航空航天等领域。为了更好地理解和应用直流电动机的工作原理及其控制系统,本项目旨在通过Simulink对直流电动机进行基本模型的建模与仿真。

MHD0815的博客 440

HyperLynx仿真(一)LineSim简单介绍

可以选择设置信号线与信号线之间默认的距离和信号线与同平面的平面之间的距离,这些设置根据工程师项目上经常使用的情况而设置,也可以选择不设置,在每次仿真时根据需要再对每一个仿真单独设置。仿真属性的设置对话框包含一般设置、 显示颜色设置、LineSim 设置、BoardSim 设置、 层叠默认设置、焊盘类型设置、仿真示波器默认设置、电路仿真器默认设置、电源完整性设置及高级设置。第一次使用HyperLynx软件时需要设置仿真相关环境,包括仿真软件的基本设置、模型库路径设置、仿真控制器控制、单位等。...

小幽余生不加糖 8954

MySQL 主键自增 Auto Increment用法

AUTO_INCREMENT简介 MySQL的AUTO_INCREMENT属性可以用于在插入新的记录的时候,进行主键自增。 例如执行下面的SQL: CREATE TABLE animals ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) ); INSER...

西召 2490

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

PostgreSQL AUTO INCREMENT

PostgreSQL AUTO INCREMENT(自动增长) AUTO INCREMENT(自动增长) 会在新记录插入表中时生成一个唯一的数字。 PostgreSQL 使用序列来标识字段的自增长,数据类型有 smallserial、serial 和 bigserial 。这些属性类似于 MySQL 数据库支持的 AUTO_INCREMENT 属性。 使用 MySQL 设置自动增长的语句如下...

yangguoqi的专栏 2205

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MySQL AUTO_INCREMENT:主键自增长和MySQL外键约束(FOREIGN KEY)

在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。通过给字段添加属性来实现主键自增长。语法格式如下:字段名 数据类型 AUTO_INCREMENT。

m0_37449634的博客 3303

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

mysql主键自增长_MySQL AUTO_INCREMENT:主键自增长

在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。通过给字段添加 AUTO_INCREMENT属性来实现主键自增长。语法格式如下:字段名 数据类型AUTO_INCREMENT默认情况下,AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。一个表中只能有一个字...

weixin_33492955的博客 956

mysql字段自动增长语法_PostgreSQL AUTO INCREMENT(自动增长)

PostgreSQL AUTO INCREMENT(自动增长)AUTO INCREMENT(自动增长) 会在新记录插入表中时生成一个唯一的数字。PostgreSQL 使用序列来标识字段的自增长,数据类型有 smallserial、serial 和 bigserial 。这些属性类似于 MySQL 数据库支持的 AUTO_INCREMENT 属性。使用 MySQL 设置自动增长的语句如下:CREAT...

weixin_35652867的博客 1512

8.MySQL的自增(AUTO_INCREMENT)

8.MySQL的自增(AUTO_INCREMENT)1.为什么需要自增2.语法3.注意4.演示5.查看自动增长值6.修改自动增长7.删除自动增长8.添加自动增长 1.为什么需要自增 为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败。为主键生成自动增长的值可以解决这种问题。 2.语法 字段名 数据类型 AUTO_INCREMENT 3.注意 一张表中只能有一个自动增长字段 该字段的数据类型是整数类型 必须定义为键 为自动增长字段插入NULL、0、DEFAULT或在插入时省略该字段,

qq_24889005的博客 1157

mysql建表auto_increment_mysql create table auto_increment

当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序 列编号。默认编号从1开始(如果未指定auto_increment开始值,如果指定开始值,则从指定值开始, 比如...

weixin_32329555的博客 4463

mysql基础(14)_列属性之auto_increment

自动增长 自动增长:auto_increment,当给定某个字段该属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加,填充数据。 通常自动增长用于逻辑主键 自动增长的原理 1、在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长 2、当用户进行数据插入的时候,如果没有给定值,系统在原始值上再加上步长变成新的数据 3、自动增长的触发,给定属性的字段没有提供值 4、自动增长只适用于数值 使用自动增长 基本语法:在字段

no15870678621的博客 2190
上一篇: mysql之列属性篇四之 —— 主键(primary key)
下一篇: mysql之列属性篇六之 —— 唯一键(unique)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我才是真的封不觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值