【问题标题】:Does redshift guarantee sequential inserting of identity column?红移是否保证身份列的顺序插入?
【发布时间】:2020-07-10 16:48:41
【问题描述】:

有没有办法保证红移中的 id 序列?即每次插入都是从最大 id 开始 +1。

【问题讨论】:

  • 没有。据我所知,没有数据库可以保证——至少没有任何强大的数据库。
  • @GordonLinoff 这个问题有解决办法吗?
  • @JaredCowo 为什么需要保证顺序 ID?有充分的理由(插入回滚/删除/等)ID 不一定是连续的。
  • @JaredCowo 。 . .查询表时使用row_number()
  • 您不能也不应该预测也不规定标识列的值。如果你explained why you think you need to do that我们也许可以帮助你。

标签: javascript sql .net amazon-redshift nestjs


【解决方案1】:

来自Examples - Amazon Redshift

创建一个包含 IDENTITY 列的表

以下示例创建一个名为 VENUE_IDENT 的表,其中有一个名为 VENUEID 的 IDENTITY 列。此列从 0 开始,每条记录递增 1。 VENUEID 也被声明为表的主键。

create table venue_ident(
  venueid bigint identity(0, 1),
  venuename varchar(100),
  venuecity varchar(30),
  venuestate char(2),
  venueseats integer,
  primary key(venueid)
);

另见:Redshift - Identity column SEED-STEP with Insert statement

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 2010-11-05
    • 2010-10-14
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多