0

我的意思是我有一个程序可以批量执行 100k 的插入。这些插入中的每一个都从插入时的序列中分配一个新的 ID。出于显而易见的原因,我想保留批处理过程,但我还需要在创建每个 ID 时提取它并对其进行处理,然后再进行下一个插入。有没有办法做到这一点?

4

1 回答 1

0

PostgreSQL 中的工作方式与 MySQL 不同。首先,您必须将插入内容编写为:

INSERT INTO foo (...) VALUES (...)
RETURNING id;

RETURNING id很重要,因为它告诉插入语句返回一些东西。然后,您应该能够像从 select 语句中所期望的那样拉回 id。

不过,我不太确定 PostgreSQl 的 JDBC 驱动程序如何在批处理方面实现这一点。如果必须,您可以修改它以将 id 存储在临时表中或您可以在之后查询的东西中。

于 2013-12-02T00:57:48.007 回答