Postgresql
Postgres,如何將“0”值插入串列?
我的應用程序表中有一個
serial
id。但是,我想插入一個0
id 記錄來表示全域。有沒有辦法可以在不影響計數器的情況下將它插入我的表中?
當然,就去做吧。僅當您呼叫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);
也可以看看
- 什麼是身份列?
CREATE TABLE
(語法IDENTITY COLUMNS
)CREATE SEQUENCE
(其中有列的選項)