mysql 批量插入 获取所有自增ID

mysql 批量插入 获取所有自增ID,第1张

1、没谷歌到php可以用的直接方法,不过可以获取批量插入的第一个自增id

2、假设批量插入的数据的自增ID是连续的,则可以通过第一个自增ID获取所有自增ID

3、测试批量插入的数据的自增ID是否是连续的,即插入过程中,单独插入其他数据,批量插入的自增ID是否连续

4、生成批量插入10w条数据的sql

5、navicat打开两个页面,一个是上面的sql,一个是一条单独插入的sql(这条sql的test_id,要大于上面sql里随机数的最大值,方便查看)

6、所以可以使用2中的方式获取批量插入的所有自增ID

直接获取是有难度的,但是可以间接获取,比如先建一张表用来存储这一批数据的批次ID

DECLARE @BATCHID INT

CREATE TABLE TBL_BATCH

(

    ID int identity(1,1),

    [DESC] varchar(255)

)

--要进行批量插入时,先插入一条数据到TBL_BATCH表中

INSERT INTO TBL_BATCH VALUES '这批数据的作用:XXX'

--获取批次ID

SET @BATCHID = @@IDENTITY

--批量插入数据时将@BATCHID一同插入。注:需要先添加一列BATCHID列。

INSERT INTO XXX

SELECT @BATCHID,XXX,XXX,XXX UNION

SELECT @BATCHID,XXX,XXX,XXX

这样根据@BATCHID就可以查到这批数据的所有自增ID了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11573998.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存