Redshift - 插入身份列
Posted
技术标签:
【中文标题】Redshift - 插入身份列【英文标题】:Redshift - inserting into identity column 【发布时间】:2021-03-11 16:52:51 【问题描述】:我已经创建了一个如下所述的表格。
create table employee (
surrogate_key bigint IDENTITY(1,1),
first_name varchar(200),
last_name varchar(200),
phone_number varchar(200),
creditcard_number bigint
)
insert into employee values
('gaurang', 'shah', '356-776-4456', '4716973408090483')
但是,下面的代码给出了错误。
错误
[Code: 500310, SQL State: 0A000] [Amazon](500310) Invalid operation: cannot set an identity column to a value;
【问题讨论】:
【参考方案1】:插入员工(名字、姓氏、电话号码、信用卡号码)
值('gaurang'、'shah'、'356-776-4456'、4716973408090483)
当表中存在标识列时,您必须指定列名
【讨论】:
【参考方案2】:另一种选择是使用默认值定义代理键
surrogate_key bigint 默认生成为 IDENTITY(1,1),
然后运行这个查询
插入员工1
值(默认,'gaurang','shah','356-776-4456',4716973408090483)
【讨论】:
你可能应该把这个答案合二为一。以上是关于Redshift - 插入身份列的主要内容,如果未能解决你的问题,请参考以下文章