我怎样才能使用postgres?复制自正确吗?
我有一个带有标题的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能最好将其加载到临时表中,然后将该临时表发送到两个不同的其他表 - 您无法在一次操作中加载到两个表中。
但是,您可以控制数据进入哪些列(从而跳过 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