Postgres,如何将“0”值插入串行?

The*_*rer 3 postgresql insert sequence

serial我的应用程序表中有一个ID。但是,我想插入一个0id 记录来表示全局。

有没有一种方法可以将它插入我的桌子而不影响计数器?

Eva*_*oll 6

当然,就去做吧。仅当您调用Sequence Manipulation Function时,计数器才会增加。如果您未明确指定值,则会DEFAULT触发对nextval(sequence_name)

CREATE TABLE foo ( id serial );
INSERT INTO foo (id) VALUES (0);
Run Code Online (Sandbox Code Playgroud)

PostgreSQL 10+

应该注意的是,这serial是一种古老而过时的方法。你应该使用标准化的IDENTITY COLUMNS

CREATE TABLE foo (
  id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
);
INSERT INTO foo (id) VALUES (0);
Run Code Online (Sandbox Code Playgroud)

也可以看看

  • 版本 17 中的聚集索引。2024 年。在那之前,一切都是堆;) (3认同)

归档时间:

查看次数:

3186 次

最近记录:

7 年,4 月 前