我在 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?
答案 0 :(得分:2)
使用关键字DEFAULT
:
insert into myTable values (DEFAULT, 'foo', ...);
serial
pseudo data type(同义词:serial4
)只是integer
列的标记便利,它从附加的SEQUENCE
检索其默认值。通过使用DEFAULT
关键字,序列中的下一个值将像任何其他默认值一样插入。