auto_random属性问题

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
5.3.0

【概述】 场景 + 问题概述
使用auto_random为主键id时,插入数据后获取上一次插入的id值,使用
SELECT LAST_INSERT_ID();
查出来的id是按当前这个会话为单位返回的,还是按连接返回? 会不会和别的连接,别的事物搞混了,获取了其他事物的id? 另外,如果我一次插入了多条数据,我怎么返回这多条数据的ID?

【应用框架及开发适配业务逻辑】

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】

【附件】 相关日志及监控(https://metricstool.pingcap.com/)


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 个赞

返回当前会话的最后一次插入的值,auto_random的值是由时间+递增值组成,当insert 多个value时 会是一段连续递增的值

高并发下也能保证是连续的吗,还是说只要是一个会话下的就一定是连续的,高并发也不影响呢

不一定,一个insert内的肯定是连续的

还有这么个属性, 赶紧去翻翻手册

https://docs.pingcap.com/zh/tidb/v5.0/auto-random

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。