1. Select Max(id) From Table;
通过取表字段最大值的方式来获取最近一次自增id
缺点: 这种方法在多人操作数据库的软件上不可靠, 举个例子, 你刚插入一条记录. 当你在查询最大id时. 其他人也插入了记录. 这样就无法获取到我们想要的id
2. Select @@IDENTITY;
@@IDENTITY 是表示最近一次向具有"自增属性"的表, 插入记录时对应的自增列的值. @@IDENTITY 系统定义的全局变量, 一般系统定义的全局变量是以"@@"开头, 用户定义的变量是以"@"开头.
举例:
比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。
3. Select LAST_INSERT_ID();
LAST_INSERT_ID() 函数与表没有关联, 比如你向表A插入记录, 再向表B插入记录. 返回的值会变化.
在多用户交替插入的情况下, Max(id)显然没有卵用, 这时候就可以用到 LAST_INSERT_ID() 函数了. 无需担心会出现取值有误. 因为它是多线程的, 取的值都是各自独立的.

关于MySQL获取自增ID的几种方法的更多相关文章

  1. MYSQL获取自增ID的四种方法

    MYSQL获取自增ID的四种方法 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与tabl ...

  2. DBS-MySQL:MYSQL获取自增ID的四种方法

    ylbtech-DBS-MySQL:MYSQL获取自增ID的四种方法 1.返回顶部 1. 1. select max(id) from tablename 2.SELECT LAST_INSERT_I ...

  3. YSQL获取自增ID的四种方法(转发)

    YSQL获取自增ID的四种方法(转发) 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与t ...

  4. mysql 获取自增id的值的方法

    原生jdbc方式: Statement.getGeneratedKeys() 示例: Statement stmt = null; ResultSet rs = null; try { // // C ...

  5. MySQL中自增ID起始值修改方法

    在实际测试工作过程中,有时因为生产环境已有历史数据原因,需要测试环境数据id从某个值开始递增,此时,我们需要修改数据库中自增ID起始值,下面以MySQL为例: 表名:users; 建表时添加: ); ...

  6. mysql 插入数据后返回自增 ID 的七种方法

    参考地址:https://blog.csdn.net/qq_30715329/article/details/80868411 其中使用函数方式.存储过程方式.注解方式.xml属性方式设置都可. 常用 ...

  7. mysql 数据库自增id 的总结

    有一个表StuInfo,里面只有两列 StuID,StuName其中StuID是int型,主键,自增列.现在我要插入数据,让他自动的向上增长,insert into StuInfo(StuID,Stu ...

  8. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)

    测试缘由 一个开发同事做了一个框架,里面主键是uuid,我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...

  9. ThinkPHP 3.2.3+ORACLE插入数据BUG修复及支持获取自增Id的上次记录

    TP+ORACLE插入数据BUG修复以及获取自增Id支持getLastInsID方法 这些天在做Api接口时候,发现用TP操作Oracle数据库,发现查询修改删除都能执行, 但一旦执行插入操作老是报错 ...

  10. mysql数据库自增id重新从1排序的两种方法

    mysql默认自增ID是从1开始了,但当我们如果有插入表或使用delete删除id之后ID就会不会从1开始了哦.   使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添 ...

随机推荐

  1. docker 下MySQL主从读写分离配置

    主从同步机制: 同步基于耳机子机制,主服务器使用二进制来记录数据库的变动状况,从服务器通过读取和执行日志文件来保存主服务的数据一致 首先要保障主从的版本一致或相近 1 登陆docker,拉取镜像 do ...

  2. hvv蓝初面试常见漏洞问题(下)

    hvv蓝初面试常见漏洞问题(上) 6.ssrf 服务端伪造请求 原理 服务端提供了向其他服务器应用获取数据的功能,而没有对目标地址做任何过滤和限制.攻击者进而利用其对内部资源进行攻击.(通俗来说:就是 ...

  3. C#与WPF中相关字符串操作

    字符串指定字符查找 例如:输入一个邮箱地址,如果正确则显示success否则显示error(正确的邮箱地址包含@,以.com结尾) //接受输入进来的字符串 string s=this.txtEmsi ...

  4. vue3实现H5网页录音并上传(mp3、wav)兼容Android、iOS和PC端

    使用 Recorder插件 可以在HTML5网页中进行录音,录音完成后得到blob文件对象,然后将blob上传到服务器:项目使用的vue3.0版本(这个插件同时支持vue2.0.也支持uniapp,很 ...

  5. c++函数重载 c/c++混合编程

    C++语言支持函数重载实现原理: 名字改编(name mangling)具体步骤: 当函数名称相同时,会根据函数参数的类型.个数.顺序进行改编 对源码直接用C++编译器进行编译时,会按C++方式进行调 ...

  6. Linux目录结构及常用命令

    目录 Linux目录结构... 1 Linux目录结构... 1 1. Linux常用命令... 4 1.1 Linux命令初体验... 4 1.2 文件目录操作命令... 8 1.3 拷贝移动命令. ...

  7. JUC同步锁原理源码解析四----Semaphore

    JUC同步锁原理源码解析四----Semaphore Semaphore 1.Semaphore的来源 A counting semaphore. Conceptually, a semaphore ...

  8. 一篇随笔学会CSS

    CSS3 1.CSS介绍 HTML+CSS+JS 结构+表现+交互 2.CSS发展史 Cascading Style Sheet 层叠级联样式表 表现层:美化网页(字体.颜色.边距.宽高.网页定位.网 ...

  9. 这样看C函数才对

    什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面这样 void hanshu() { int a = 0; int b = 3; } 这时候就应该有人要跳出来了,这是什么**!确实, ...

  10. 【WALT】scale_exec_time() 代码详解

    @ 目录 [WALT]scale_exec_time() 代码详解 代码展示 代码逻辑: 为什么归一化? ⑴ 将 CPU cycles 转换为 CPU 当前频率 ⑵ 归一化 delta [WALT]s ...