如何在Postgres中创建包含所有默认值的新行?

时间:2017-11-28 14:23:35

标签: sql postgresql

我有一个包含两列{@ 1}}和id的表格。两者都有默认值,所以我应该能够在不提供任何数据的情况下插入新行。

但是,此语法不起作用:

created

我还想返回插入行的生成INSERT INTO books () VALUES () 。此语法也不起作用:

id

如何在Postgres SQL中编写此查询?

2 个答案:

答案 0 :(得分:8)

根据INSERT syntax:

insert into books default values
returning id;

答案 1 :(得分:3)

这是示例(基本上只使用DEFAULT):

t=# create table d(i int default 0, t text default 'a');
CREATE TABLE
t=# insert into d values(DEFAULT,DEFAULT) returning *;
 i | t
---+---
 0 | a
(1 row)

INSERT 0 1