Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的意思是我有一个程序可以批量执行 100k 的插入。这些插入中的每一个都从插入时的序列中分配一个新的 ID。出于显而易见的原因,我想保留批处理过程,但我还需要在创建每个 ID 时提取它并对其进行处理,然后再进行下一个插入。有没有办法做到这一点?
PostgreSQL 中的工作方式与 MySQL 不同。首先,您必须将插入内容编写为:
INSERT INTO foo (...) VALUES (...) RETURNING id;
这RETURNING id很重要,因为它告诉插入语句返回一些东西。然后,您应该能够像从 select 语句中所期望的那样拉回 id。
RETURNING id
不过,我不太确定 PostgreSQl 的 JDBC 驱动程序如何在批处理方面实现这一点。如果必须,您可以修改它以将 id 存储在临时表中或您可以在之后查询的东西中。