【发布时间】:2021-01-12 09:06:06
【问题描述】:
我在一个表中插入一行,例如:
INSERT INTO first (name) VALUES ('something');
然后获取该行的自动递增 ID,例如:
SELECT LAST_INSERT_ID();
然后,我想在一系列 INSERT 中使用这个特定的 ID,例如:
INSERT INTO second (f,a,b) VALUES (ID, 'something else', 'with something else');
INSERT INTO second (f,a,b) VALUES (ID, 'something else 1', 'with something else 3');
INSERT INTO second (f,a,b) VALUES (ID, 'something else 2', 'with something else 4');
问题是:我如何将第一个 LAST_INSERT_ID() “分配”给某种变量,以便我可以在以下查询中重用它。我已经尝试过WITH 和AS 以及所有这些,但都没有奏效。
(基本上我的编程头脑渴望类似:ID = SELECT LAST_INSERT_ID();,然后继续执行下一个查询......但我不知道该怎么做。)
【问题讨论】:
-
这个问题有 [sqlite] 标签,但没有编程语言标签。 SQLite 几乎总是在用某种编程语言编写的应用程序中使用,这些编程语言肯定不是 SQL。将
SELECT LAST_INSERT_ID();的结果放入您的编程语言的变量中,然后将其放入您的INSERT语句中几乎是微不足道的,但是如果您不告诉我们您使用的是哪种编程语言,(也许显示一些代码,)我们无能为力。
标签: sql database sqlite last-insert-id