首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

last_insert_id()vs SELECT Max(ID)

last_insert_id()和SELECT Max(ID)都是用于获取数据库中最后插入的自增ID的方法,但它们有一些区别。

  1. last_insert_id()是一个MySQL函数,用于获取最后插入的自增ID。它返回的是当前会话中最后插入的自增ID,而不受其他会话的影响。可以通过调用该函数来获取最后插入的自增ID,而不需要执行额外的查询语句。在多线程或并发环境下,使用last_insert_id()可以确保获取到正确的自增ID。
  2. SELECT Max(ID)是一个查询语句,用于获取ID列中的最大值。它通过查询整个表中的ID列,并返回最大的ID值。但是,这种方法可能存在并发问题。如果有多个会话同时插入数据,可能会导致获取到的最大ID不是最后插入的ID。

综上所述,推荐使用last_insert_id()来获取最后插入的自增ID,因为它更可靠和高效。腾讯云提供了MySQL数据库服务,您可以使用腾讯云的云数据库MySQL来支持您的应用程序。详情请参考腾讯云云数据库MySQL产品介绍:腾讯云云数据库MySQL

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么 insert 配置 SELECT LAST_INSERT_ID() 返回个0呢?

通常只要配置的没问题,返回对象中也有对应的 id 字段,那么就可以正确的拿到返回值了。PS:问题就出现在这里,小傅哥手写的 Mybatis 竟然只难道返回一个0!...因为最开始这两条语句执行的时候,在获取链接的时候,每一条都是获取一个新的链接,那么也就是说,insert xxx、select LAST_INSERT_ID() 在两个 connection 连接执行时...,其实是不对的,没法获取到插入后的索引 ID,只有在一个链接或者一个事务下(一次 commit)才能有事务的特性,获取插入数据后的自增ID。...每一次都是新的链接,代码块如下; 这里的链接获取,最开始没有 if null 的判断,每次都是直接获取链接,所以这种非一个链接下的两条 SQL 操作,所以必然不会获得到正确的结果,相当于只是单独执行 SELECT...LAST_INSERT_ID() 所以最终的查询结果为 0 了就!

94030
  • MYSQL中获取得最后一条记录的语句

    方法1:select max(id) from tablename 方法2:select last_insert_id(); 在MySQL中,使用auto_increment类型的id字段作为表的主键,...通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。...答案之一是通过select LAST_INSERT_ID()这个操作。乍一看,它和select max(id)很象,但实际上它是线程安全的。也就是说它是具体于数据库连接的。...3、结果:在连接1中执行select LAST_INSERT_ID()得到的结果和连接2中执行select LAST_INSERT_ID()的结果是不同的;而在两个连接中执行select max(id)...注:使用select last_insert_id()时要注意,当一次插入多条记录时,只是获得第一次插入的id值,务必注意!

    4K30

    SIGIR2023 | ID vs 模态: 推荐系统ID范式有望被颠覆?

    链接: https://arxiv.org/abs/2303.13835 代码: https://github.com/westlake-repl/IDvs.MoRec 研究背景 [纯 ID 推荐 vs...经典的双塔架构、CTR 模型、会话和序列推荐、Graph 网络无不采用 ID embedding 来对物品进行建模,整个推荐系统现有的 SOTA 体系也几乎都是采用基于 ID 特征的建模手段。...结合 ID 和模态特征 鉴于 IDRec 和基于 E2E 的 MoRec 都运作良好,一个自然的想法是在一个模型中结合这两个特征(即 ID 和模态)。...第二个原因可能是在结合 ID 和模态特征时需要更先进的技术。 事实上,从另一个角度看,带有 ID 特征的 MoRec 将失去 MoRec 的许多优势。...例如,使用 ID 特征的 MoRec 不适合建立基础推荐模型,因为由于隐私和不同平台间用户、商品难以重叠的问题,ID 不容易迁移。

    28410

    关于mysql自增id的获取和重置

    转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) ---- mysql获取自增id的几种方法 使用max函数:select max(id) from tablename...缺点:获取的不是真正的自增id,是表中最大的Id,如果有删除数据的话,那么该值和自增id相差比较大。如果有连表数据,有可能导致数据错乱。...使用LAST_INSERT_ID函数:select LAST_INSERT_ID() 优点:获取到的是真正的自增id。 缺点:该函数是与table无关的,永远保留最新插入的自增列的id。...使用@@IDENTITY变量:select @@IDENTITY 此方法和LAST_INSERT_ID()功能差不多,优缺点也一致。需要在插入后调用。...如: select Auto_increment into autoId from information_schema.tables where Table_Schema = ‘dbname’

    11.7K20

    推荐系统范式之争,LLM vs. ID

    论文:arxiv.org/abs/2305.11700 研究动机 推荐系统模型经典ID(userID、itemID及各种categorical ID)范式已经主导社区长达10年,是否有望继续主导下一个十年...论文针对两种推荐模型(微调vs 冻住表征)进行了几组不同对比实验。如图所示,结果表明即使是由极其庞大的LM(如GPT-3)学习到的物品表示,也未必能形成一个通用的表征。...论文认为对TCF而言与主流的IDCF范式进行对比是十分必要的,因为ID特征(包括用户ID和项目ID)被认为是推荐系统大模型(又称基础模型)的一个主要障碍。...文章认为要实现推荐系统基础模型需要至少满足两个条件:(1)放弃ID特征,因为ID特征在不同业务系统无法共享,自然没办法实现迁移学习;(2)实现有效的跨域、跨平台迁移。...问题5:ChatGPT4Rec vs TCF 最近,由于ChatGPT的巨大成功,出现了很多ChatGPT用于推荐系统的文献。

    60210
    领券