Redshift:COPY命令针对具有DEFAULT值的NOT NULL列

时间:2018-08-13 15:35:48

标签: copy command amazon-redshift

我在redShift数据库中有一个方案,其中我的表具有NOT NULL日期列,默认列为SYSDATE。我正在尝试通过COPY命令加载数据,而csv文件中没有date列。但是,当我加载时,COPY命令抛出一个错误。请让我知道,我们还有其他选择可以解决此问题。

1 个答案:

答案 0 :(得分:0)

由于您没有提供确切的错误信息,因此,我将尝试使用简单的用例进行导航。然后,我认为您可以尝试复制它。

如果您只是通过default命令中的copy跳过了该列,则应该可以解决您的问题,如果通过代码执行Copy({{1} }等),以确保您java/python正在进行交易。

使用以下步骤制作一个简单的工作程序。

committing

创建包含以下内容的文件create table sales( salesid integer not null, category varchar(10), update_at timestamp DEFAULT SYSDATE);

Test.csv

运行以下命令。

1,Cat1
2,Cat2
3,Cat3
4,Cat1
5,Cat1
6,Cat3
7,Cat1
10,Cat1
  

输出:       从's3://***//Test.csv'凭证'aws_access_key_id = ********; aws_secret_access_key = ****'分隔符','复制销售(salesid,category);       信息:装入表“ sales”已完成,已成功装入8条记录。       COPY;

Copy sales(salesid,category) from 's3://***/Test.csv' credentials'aws_access_key_id=*******;aws_secret_access_key=********' delimiter ',';