AUTOINCREMENT雪花散装主键

时间:2020-02-20 18:31:36

标签: primary-key snowflake-cloud-data-platform bulk-load alteryx

我想将数据上传到雪花表。雪花表的主键字段为AUTOINCREMENT。

当我尝试将数据上传到没有主键字段的雪花时,我收到以下错误消息:

COPY失败,并出现以下错误:文件(2)中的列数不正确 与对应表(3)匹配,使用文件格式选项 error_on_column_count_mismatch = false可以忽略此错误

有人知道我是否可以将数据批量加载到具有AUTOINCREMENT主键的表中吗?

小泽

2 个答案:

答案 0 :(得分:3)

文档具有以下示例,表明可以完成此操作: https://docs.snowflake.net/manuals/user-guide/data-load-transform.html#include-autoincrement-identity-columns-in-loaded-data

-- Omit the sequence column in the COPY statement
copy into mytable (col2, col3)
from (
  select $1, $2
  from @~/myfile.csv.gz t
)
;

能否请您尝试使用这种语法,看看它是否对您有用?

答案 1 :(得分:1)

您可以使用文件格式查询登台文件以加载数据。我创建了如下的示例表。第一列设置自动递增:

-- Create the target table
create or replace table Employee (
  empidnumber autoincrement start 1 increment 1,
  name varchar,
  salary varchar
  );

我已将一个示例文件上载到雪花内部阶段,以将数据加载到表中,并使用以下Stage query 查询了阶段文件,然后执行了以下复制cmd:

copy into mytable (name, salary )from (select $1, $2 from @test/test.csv.gz                                );

它会以递增的值加载表。