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

How to copy CSV into table with missing column?

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

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

这是我的导入命令:

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

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

是的,但必须明确说明:

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

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