Postgresql

Postgres,如何將“0”值插入串列?

  • April 30, 2018

我的應用程序表中有一個serialid。但是,我想插入一個0id 記錄來表示全域。

有沒有辦法可以在不影響計數器的情況下將它插入我的表中?

當然,就去做吧。僅當您呼叫Sequence Manipulation Function時,計數器才會增加。在您沒有明確指定值的情況下,DEFAULT觸發呼叫nextval(sequence_name)

CREATE TABLE foo ( id serial );
INSERT INTO foo (id) VALUES (0);

PostgreSQL 10+

應該注意的是,這serial是舊的和過時的方法。您應該使用標準化的IDENTITY COLUMNS

CREATE TABLE foo (
 id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
);
INSERT INTO foo (id) VALUES (0);

也可以看看

引用自:https://dba.stackexchange.com/questions/205393