关于云的基本问题 SQL

Basic questions about Cloud SQL

我正在尝试使用云存储桶填充云 sql 数据库,但出现了一些错误。 csv 的第一行有 headers(或列名),但没有所有列(数据库中的某些列可以为空,所以我正在加载我现在需要的数据)。

数据库在 postgresql 中,这是我尝试配置的 GCP 中的第一个数据库,但我有点困惑。

  1. csv 文件是否有列名重要吗?
  2. 列的顺序在 csv 文件中重要吗? (我想如果 csv 中不存在,他们会这样做)
  3. table 的 PK 是一个序列号,我没有将其包含在 csv 文件中。我还需要包括 PK 吗?我的意思是,因为它是一个序列号,所以它应该是“自动分配的”,对吧?

对于新手的问题,我们深表歉意,在此先致谢:)

COPY 文档涵盖了所有内容。

  1. 重要的是您必须指定 HEADER 选项以便跳过第一行:

    [...] on input, the first line is ignored.

  2. 顺序很重要,如果 CSV 文件不包含与 table 相同顺序的所有列,您必须使用 COPY 指定它们:

    COPY mytable (col12, col2, col4, ...) FROM '/dir/afile' OPTIONS (...);
    
  3. 同上:如果你在列列表中省略了一个table列,它将被填充为默认值,在这种情况下就是自动生成的数字。