关于云的基本问题 SQL
Basic questions about Cloud SQL
我正在尝试使用云存储桶填充云 sql 数据库,但出现了一些错误。 csv 的第一行有 headers(或列名),但没有所有列(数据库中的某些列可以为空,所以我正在加载我现在需要的数据)。
数据库在 postgresql 中,这是我尝试配置的 GCP 中的第一个数据库,但我有点困惑。
- csv 文件是否有列名重要吗?
- 列的顺序在 csv 文件中重要吗? (我想如果 csv 中不存在,他们会这样做)
- table 的 PK 是一个序列号,我没有将其包含在 csv 文件中。我还需要包括 PK 吗?我的意思是,因为它是一个序列号,所以它应该是“自动分配的”,对吧?
对于新手的问题,我们深表歉意,在此先致谢:)
COPY
文档涵盖了所有内容。
重要的是您必须指定 HEADER
选项以便跳过第一行:
[...] on input, the first line is ignored.
顺序很重要,如果 CSV 文件不包含与 table 相同顺序的所有列,您必须使用 COPY
指定它们:
COPY mytable (col12, col2, col4, ...) FROM '/dir/afile' OPTIONS (...);
同上:如果你在列列表中省略了一个table列,它将被填充为默认值,在这种情况下就是自动生成的数字。
我正在尝试使用云存储桶填充云 sql 数据库,但出现了一些错误。 csv 的第一行有 headers(或列名),但没有所有列(数据库中的某些列可以为空,所以我正在加载我现在需要的数据)。
数据库在 postgresql 中,这是我尝试配置的 GCP 中的第一个数据库,但我有点困惑。
- csv 文件是否有列名重要吗?
- 列的顺序在 csv 文件中重要吗? (我想如果 csv 中不存在,他们会这样做)
- table 的 PK 是一个序列号,我没有将其包含在 csv 文件中。我还需要包括 PK 吗?我的意思是,因为它是一个序列号,所以它应该是“自动分配的”,对吧?
对于新手的问题,我们深表歉意,在此先致谢:)
COPY
文档涵盖了所有内容。
重要的是您必须指定
HEADER
选项以便跳过第一行:[...] on input, the first line is ignored.
顺序很重要,如果 CSV 文件不包含与 table 相同顺序的所有列,您必须使用
COPY
指定它们:COPY mytable (col12, col2, col4, ...) FROM '/dir/afile' OPTIONS (...);
同上:如果你在列列表中省略了一个table列,它将被填充为默认值,在这种情况下就是自动生成的数字。