我怎样才能使用postgres?复制自正确吗?

发布于 2024-10-09 19:40:43 字数 289 浏览 2 评论 0原文

我有一个带有标题的 csv 文件。 4 列。

我需要表 A 中的前 3 列和表 B 中的最后一列。

表 A 有一个 ID,应默认设置(不是从列中设置)。

这是我尝试过的方法:

COPY a FROM '/home/bijan/Downloads/test_events.csv' WITH CSV HEADERS

我遇到的(第一)问题是它没有设置表 'A 的 ID 的默认值',相反,它认为 CSV 的第一列是表中的第一列(这应该是默认值)。

感谢您抽出时间。 :)

I have a csv file with headers. 4 columns.

I need the first 3 columns in table A, and the last column in table B.

Table A has an ID, which should be set by default (not from columns).

Here's what I've tried:

COPY a FROM '/home/bijan/Downloads/test_events.csv' WITH CSV HEADERS

The (first) problem I run into with this is it's not setting the default value for the ID of the table 'A', instead it thinks the first column of the CSV is the first column in the table (which should be default).

Thank you for your time. :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朱染 2024-10-16 19:40:43

您可能最好将其加载到临时表中,然后将该临时表发送到两个不同的其他表 - 您无法在一次操作中加载到两个表中。

但是,您可以控制数据进入哪些列(从而跳过 id 列),使用

COPY a(col2,col3,col4) FROM '/home/bijan/Downloads/test_events.csv' WITH CSV HEADERS

You're probably best off loading it into a temporary table and then sending that one to the two different other tables - you cannot load into two tables in one operation.

You can, however, control which columns the data goes into (thus skipping the id column), with something like

COPY a(col2,col3,col4) FROM '/home/bijan/Downloads/test_events.csv' WITH CSV HEADERS

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文