【问题标题】:How to turn on/off IDENTITY_INSERT in Redshift如何在 Redshift 中打开/关闭 IDENTITY_INSERT
【发布时间】:2015-09-12 17:39:12
【问题描述】:

我必须在 redshift 中关闭表上的标识并将历史值插入其中。

如果我尝试将值插入标识列,则会出现以下错误

错误:0A000:无法将标识列设置为值

【问题讨论】:

  • 如果你的表只包含历史值,而你指定为标识的列会有重复数据,那么将该列创建为标识有什么用?
  • 无法在 Redshift 表中关闭身份是一个巨大的缺点。这意味着,每次重新加载 Dimension 时,都必须使用新的代理键重新加载 Fact 表。

标签: sequence amazon-redshift


【解决方案1】:

您可以按照简单的两步方法来完成。

  1. 卸载历史表数据并放入文件@s3
  2. 对该文件运行复制命令以通过以下方式加载目标表 在复制命令中指定 explicit_ids 作为参数。

【讨论】:

    【解决方案2】:

    在 Redshift 中无法关闭标识值。如果您的身份顺序与新记录或历史记录无关,您只需插入历史记录,它们就会插入新的身份键值。

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 2020-07-26
      • 2017-03-03
      • 2011-03-07
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      相关资源
      最近更新 更多