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

标签 sql postgresql identity

例如:

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

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

最佳答案

如果你像上面那样创建表格,

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

INSERT INTO Participant values(default); 

查看 SQLFIDDLE .

另一种插入方式是:

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() 从序列中获取新值。

查看 SQLFIDDLE

关于sql - 在 PostgreSQL 中,如何插入只有一个标识列的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12336789/

相关文章:

java - 快速而肮脏的 SQL 字符串转义

sql - 如何在查询中包含零计数结果

python - 使用外键和 SQLAlchemy 导入装置?

sql-server - 为什么我的 SQL Server 标识值被重用?

azure - 如何利用 Azure AD B2C 通过 REST API 创建和管理用户?

mysql - 如何汇总从起始月份到当前每月的记录

Java + Oracle ORA-1000 超出最大打开游标数

sql - 具有多列的表中每组的第一个非空值

python - 如果 postgresql 不存在(列数和值不同)如何创建动态插入

.net - ADO.NET Entity Framework 和标识列