如何将 CSV 复制到缺少列的表中?

Posted

技术标签:

【中文标题】如何将 CSV 复制到缺少列的表中?【英文标题】:How to copy CSV into table with missing column? 【发布时间】:2020-11-09 10:52:05 【问题描述】:

我想将 csv 文件中的数据导入 redshift。 CSV 格式:

col1 , col2 , col3 , col4
 -   ,  -   ,  -   ,  -
 -   ,  -   ,  -   ,  -

这是我的导入命令:

COPY myTable
FROM 'file.csv'
CSV 
DELIMITER AS ','
IGNOREHEADER AS 1
;

我遇到的问题是,有时我的文件只有 col1、col2 和 col3。是否可以执行 COPY 并为缺失值添加 null

【问题讨论】:

【参考方案1】:

是的,但必须明确说明:

COPY mytable (col1, col2, col3)
FROM 'file.csv'
(FORMAT 'csv', HEADER);

缺少的col2 将用其默认值填充(NULL,除非您定义了一个)。

【讨论】:

以上是关于如何将 CSV 复制到缺少列的表中?的主要内容,如果未能解决你的问题,请参考以下文章

将具有 LONG RAW 列的表中的数据从一个数据库复制到另一个数据库

如何将自动增量 ID 列添加到从 SQL 查询生成的表中? [复制]

将一些数据从 sqlite 表复制到具有不同两列的同一个表中

从表中复制数据并将其加载到另一个表中

VF中如何将一个表的内容复制到另一个已经存在的表中

如何将一个数据库中的一个表复制到另一个数据库中的表中