【问题标题】:How do I set the value of a sequence in Postgres to max(value) + 1 for that table? [duplicate]如何将 Postgres 中的序列值设置为该表的 max(value) + 1? [复制]
【发布时间】:2016-12-03 07:31:12
【问题描述】:

我创建了一个带有 SERIAL 列的表,但我也手动插入了一些行。我需要更新 SERIAL 以便转到下一个。

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    假设您的序列名为$seq。如果您使用SERIAL 创建表:

    CREATE TABLE foo {id SERIAL, .... }
    

    序列将被称为foo_id_seq

    这样做:

    SELECT setval('foo_id_seq', (SELECT max(id) FROM foo), TRUE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2019-01-27
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      相关资源
      最近更新 更多