postgresql serial4类型自动增量插入到

时间:2012-03-26 15:01:09

标签: postgresql auto-increment insert-into

我在 serial4 类型的表中定义了一个属性,所以当我插入一个新行时,该属性会自动递增。

我曾经这样做过:

myTable (id : serial4, name : varchar(25), whatever : whatever, ...);

当我想插入新条目时:

insert into myTable (name, whatever, ...) values ('foo', ...);

(我只是删除关联列表中的id属性)。

现在,如果我的表具有大量属性,则关联列表很难写入。

我只想写:

insert into myTable values (...);

但是如果myTable的第一个属性是 serial4 id,我应该在值列表中写什么?

insert into myTable values (?, 'foo', ...);

使id从最后插入的值增加+1?

1 个答案:

答案 0 :(得分:2)

使用关键字DEFAULT

insert into myTable values (DEFAULT, 'foo', ...);

serial pseudo data type(同义词:serial4)只是integer列的标记便利,它从附加的SEQUENCE检索其默认值。通过使用DEFAULT关键字,序列中的下一个值将像任何其他默认值一样插入。

Details in the manual.