我有一个CSV文件,有两列:city和zipcode.我希望能够使用copy命令将该文件复制到PostgreSQL表中,同时自动生成id值.

该表有以下列:idcityzipcode.

我的CSV文件只有:cityzipcode.

推荐答案

如果您的表对id使用serial列,那么COPY command应该自己完成这项工作:

如果表中有任何列不在列列表中,则"复制自"将插入这些列的默认值.

所以你应该能够说:

copy table_name(city, zipcode) from ...

id将像往常一样生成.如果没有serial列的id(或手动附加的序列),则可以手动连接序列,进行复制,然后分离序列.

Postgresql相关问答推荐

Postgs SQL用于比较两个表之间的数据并填充到目标中

如何高效地将行聚合到数组中,同时保留`NULL`来指示丢失的数据?

Select 二维数组中的特定元素PostgreSQL

使函数内部动态插入更具可读性

将具有自定义类型的表从一种模式复制到另一种模式

未更改表上的 Postgres 环绕预防

在 PostgreSQL 中提高 GROUP BY ... HAVING COUNT(...) > 1 的性能

Postgres 转储按顺序插入

PostgreSQL - 如何获得前一个月和一周的价值?

使用包含重复元素的数组 Select 重复值

PostgreSQL 查询到 Excel 表

Select 日期最高的行

Rails 4 迁移: has_and_belongs_to_many table name

从没有行的计数中获取 0 值

在 PostgreSQL 中使用 Cursors进行分页

解释结果中的Recheck Cond是什么意思?

如何将表的一列复制到PostgreSQL中比较相同ID的另一表的列

Rails PG::UndefinedTable:错误:missing FROM-clause entry for table

如何更改 PostgreSQL 中的日期样式?

PostgreSQL - 必须出现在 GROUP BY 子句中或在聚合函数中使用