Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PostgreSQL中,如何插入到只有一个标识列的表中?_Sql_Postgresql_Identity - Fatal编程技术网

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

在PostgreSQL中,如何插入到只有一个标识列的表中?,sql,postgresql,identity,Sql,Postgresql,Identity,例如: {create table Participant ( id serial, primary key(id) );} 在这种情况下,如何插入到表中 如果您像上面那样创建表 可以通过以下方式使用默认值插入: INSERT INTO Participant values(default); 退房 另一种插入方式是: INSERT INTO Participant values(NEXTVAL('Participant_id_seq')); CREATE TABLE将为序列列Part

例如:

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

在这种情况下,如何插入到表中

如果您像上面那样创建表

可以通过以下方式使用默认值插入:

INSERT INTO Participant values(default); 
退房

另一种插入方式是:

INSERT INTO Participant values(NEXTVAL('Participant_id_seq')); 
CREATE TABLE将为序列列Participant.id创建隐式序列Participant_id_seq

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

pg_get_serial_sequence('Participant', 'id')
它将使用NEXTVAL从序列中获取新值


签出

最简单、最便携、最干净的方法是使用默认值,如上所示;IMO应该在nextval方法之前显示,并且更喜欢它。另外,不要忘了可以使用返回,如:插入PARITICIANT值默认返回id;
insert into Participant values (default);