gpt4 book ai didi

sql - 如何将 CSV 导入到已经分配了 ID 的 postgresql?

转载 作者:行者123 更新时间:2023-11-29 11:55:25 28 4
gpt4 key购买 nike

我有 3 个 CSV 文件,每个文件大约有 15 万行。他们已经在 CSV 中获得了 ID,并且关联已经保存在其中。有没有一种简单的方法可以跳过 id 值的自动分配,而是使用 CSV 中已有的值?

最佳答案

A serial column 默认情况下仅从序列中提取下一个数字。如果您向其中写入一个值,默认值将不会生效。您只需将 COPY 复制到表 ( see @Saravanan' answer ),然后相应地更新序列。 一种方法:

SELECT setval('tbl_tbl_id_seq', max(tbl_id)) FROM tbl;

tbl_id是表tbl的序列列,取自序列tbl_tbl_id_seq(默认名称)。

在并发负载的情况下,在单个事务中表现最佳。

注意,这里没有off-by-1错误。 Per documentation:

The two-parameter form sets the sequence's last_value field to the specified value and sets its is_called field to true, meaning that the next nextval will advance the sequence before returning a value.

大胆强调我的。

关于sql - 如何将 CSV 导入到已经分配了 ID 的 postgresql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793903/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com