我在将数据插入1列1列的表中遇到问题
名称:user_id
列:id
我正在尝试使用此查询在此列中添加1行:
INSERT INTO user_id (id) VALUES ()
问题是上面的无效,我想让id取最后一个值id +1
这不是语法问题,因为此查询有效:
INSERT INTO user_id (id) VALUES (4)
所以,我真的不知道如何解决这个问题。
答案 0 :(得分:2)
SQL支持default values
语句。
这将起作用:
create table t (id serial primary key);
insert into t
default values;
documentation中描述了语法。
答案 1 :(得分:1)
假设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;