【问题标题】:Redshift - inserting into identity columnRedshift - 插入身份列
【发布时间】: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;

【问题讨论】:

    标签: amazon-redshift


    【解决方案1】:

    插入员工(名字、姓氏、电话号码、信用卡号码)

    值('gaurang'、'shah'、'356-776-4456'、4716973408090483)

    当表中存在标识列时,您必须指定列名

    【讨论】:

      【解决方案2】:

      另一种选择是使用默认值定义代理键

      surrogate_key bigint 默认生成为 IDENTITY(1,1),

      然后运行这个查询

      插入员工1

      值(默认,'gaurang','shah','356-776-4456',4716973408090483)

      【讨论】:

      • 你可能应该把这个答案合二为一。
      猜你喜欢
      • 2019-06-25
      • 2012-09-28
      • 2020-02-12
      • 2013-10-26
      • 2015-02-05
      • 2011-06-09
      • 1970-01-01
      • 2015-04-01
      • 2018-07-17
      相关资源
      最近更新 更多