在PostgreSQL中,如何插入只有一个标识列的表?

Cha*_*ani 9 sql postgresql identity

例如:

{create table Participant ( id serial, primary key(id) );}
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何插入表格?

Aka*_* KC 21

如果您创建上面的表格,

您可以使用default以下方式插入:

INSERT INTO Participant values(default); 
Run Code Online (Sandbox Code Playgroud)

查看SQLFIDDLE.

另一种插入方式是:

INSERT INTO Participant values(NEXTVAL('Participant_id_seq')); 
Run Code Online (Sandbox Code Playgroud)

CREATE TABLE将为"Participant_id_seq"串行列创建隐式序列" Participant.id".

您可以通过pg_get_serial_sequence以下方式使用函数获取表的序列:

pg_get_serial_sequence('Participant', 'id')
Run Code Online (Sandbox Code Playgroud)

它将从序列使用中获取新的价值NEXTVAL().

查看SQLFIDDLE


use*_*207 5

insert into Participant values (default);
Run Code Online (Sandbox Code Playgroud)