MySQL插入,如何从插入中获取增量ID [重复]

Posted

技术标签:

【中文标题】MySQL插入,如何从插入中获取增量ID [重复]【英文标题】:MySQL Insert, how to get incremental id from insert [duplicate] 【发布时间】:2019-11-07 17:32:31 【问题描述】:
INSERT INTO db.a (a,b,c,d,e,f,g,h,i) 
VALUES (2,2,"a",'b','c','d',1,'e',0)

第一次插入将插入一个带有incremental_id 的新行。我需要使用该 incremental_id 并使用该 incremental_id 进入 db.b,例如,如果它是 6005,我将进行以下插入。

INSERT INTO db.b 
(a_id, s_id, use_i)
VALUES (6005,7,0)

如何自动获取第一个插入的 id,以便在第一个查询之后动态构建第二个插入?

【问题讨论】:

使用LAST_INSERT_ID()函数。 要添加到 @Barmar 的评论,您可能需要在插入 a 表后执行 SET @a_id = LAST_INSERT_ID(); 并在插入 s 表后使用 SET @s_id = LAST_INSERT_ID(); 并使用 INSERT INTO db.b (a_id, s_id, use_i) VALUES (@a_id,@s_id,0) 。 . 因为不清楚你是否有s 表,因为我看到s_id 我假设你也有一个s 【参考方案1】:

您可以使用函数LAST_INSERT_ID(),它将准确返回您需要的内容。

【讨论】:

以上是关于MySQL插入,如何从插入中获取增量ID [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 PDO 插入时获取自动递增行 ID [重复]

MySQL 多行插入是不是获取顺序自动增量 ID?

你如何从一个类中获取最后插入的 ID 到重定向 [重复]

MySQL - 知道下一个 ID [重复]

将数据插入MySQL后如何获取插入ID [重复]

通过 jdbctemplate 在表中插入记录时如何获取自动增量 ID