我有一个问题是将数据插入1个表中有1列
名称:user_id
专栏:id
我试图在此列中使用此查询添加1行:
INSERT INTO user_id (id) VALUES ()
问题是以上是无效的,我希望id取最后一个值id +1
这不是语法问题,因为此查询有效:
INSERT INTO user_id (id) VALUES (4)
所以,我真的不知道如何解决这个问题。
假设id
列定义为serial
或identity
,您可以指定列列表并将列值设置为default
:
insert into user_id (id) values (default);
如果您有更多列,这也有效,例如:
insert into users (id, firstname, lastname)
values (default, 'Arthur', 'Dent');
或者您可以完全省略列列表并请求所有列的默认值:
insert into user_id default values;
SQL支持default values
语句。
所以这将有效:
create table t (id serial primary key);
insert into t
default values;
语法在documentation中描述。