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

时间:2012-09-09 05:35:06

标签: sql postgresql identity

例如:

{create table Participant ( id serial, primary key(id) );}

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

2 个答案:

答案 0 :(得分:20)

如果您创建上述表格,

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

INSERT INTO Participant values(default); 

查看 SQLFIDDLE

另一种插入方式是:

INSERT INTO Participant values(NEXTVAL('Participant_id_seq')); 

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

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

pg_get_serial_sequence('Participant', 'id')

使用NEXTVAL()从序列中获取新值。

查看 SQLFIDDLE

答案 1 :(得分:4)

insert into Participant values (default);