我有麻烦,我有一个名为 my_table 的表)
id name
1 A
2 B
3 C
我想插入前 2 个,所以值有自动增量,像这样
insert into my_table (name) values (A), (B);
这在 postgressql 中可能吗?
可能我应该有 count( ) + 1,然后 count( ) + 2 这里
insert into my_table (id, name) values (count(*) + 1, A), (count(*) + 2, B);
或类似的东西,因为我的 id 有限制
BIGSEREIAL PRIMARY KEY NOT NULL
而且我无法在没有获得表中最后一个 id 的情况下添加值。
你可以做:
create table my_table (
id int not null generated always as identity,
name varchar(10) not null
);
insert into my_table (name) values ('A'), ('B');
然后:
select * from my_table;
结果:
id name
-- ----
1 A
2 B
请参阅db<>fiddle 上的运行示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句