Snowflake cloud data platform 雪花中的标识列

Snowflake cloud data platform 雪花中的标识列,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,《雪花》中的一个简单问题。我创建了一个带有标识列的表 create table etl_test (id int identity, name string); 并试图将数据插入其中。在我的SQL Server世界中,我只需要为name字段提供值 insert into etl_test values('test'); 我在《雪花》中也尝试了同样的方法,但我遇到了一个错误 SQL编译错误:插入值列表与应为2但得到1的列列表不匹配 如何确保插入值“test”时id=1?如果没有插入到所有列中

《雪花》中的一个简单问题。我创建了一个带有标识列的表

create table etl_test 
(id int identity,
name string);
并试图将数据插入其中。在我的SQL Server世界中,我只需要为name字段提供值

insert into etl_test values('test');
我在《雪花》中也尝试了同样的方法,但我遇到了一个错误

SQL编译错误:插入值列表与应为2但得到1的列列表不匹配


如何确保插入值“test”时id=1?

如果没有插入到所有列中,则需要包括正在使用的列名:

insert into etl_test (name) values('test');
是反模式的,与RDBMS无关

在您的场景中,您需要指定列列表,并从列列表中删除id或为其提供
默认值

INSERT INTO etl_test(id, name) VALUES (DEFAULT, 'test');