【发布时间】: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表
标签: mysql