我正在一个PHP文件中运行一个
INSERT
查询,但是我需要从外部的PHP文件中获取最后插入的ID,以便基于该ID运行另一个查询。如何使用CURRVAL
或RETURNING
来完成这个操作?如果我在外部的PHP文件中执行像$result = pg_query($db,"SELECT CURRVAL('app.example_id_seq'), ... ");
这样的操作,我将无法获得结果。
SELECT
之前应该在INSERT
中使用nextval
?如果是,那么如果id
列是自动递增的,怎么办? - Clint_Anextval
,它将自行递增。因此,只需提供插入中的其他列,一切都将正常工作。 - Michał Zaborowskinextval
,会发生什么?那RETURNING id
呢?我如何从另一个 PHP 文件中调用它? - Clint_Acurrval
仅在与前面的nextval
相同的会话中起作用。但是,看起来你所说的“来自另一个 PHP 文件”意味着“来自另一个数据库会话”或“来自另一个 HTTP 请求”,这两者本质上是相同的。Laurenz Albe 的回答适用于这种情况。 - Daniel Vérité