我有一张表格
create table testtable(
testtable_rid serial not null,
data integer not null,
constraint pk_testtable primary key(testtable_rid)
);
假设我要重复执行这段代码大约20次:
begin;
insert into testtable (data) values (0);
rollback;
然后我执行
begin;
insert into testtable (data) values (0);
commit;
最后是一个空格。select * from testtable
结果: row0:testtable_rid=21 | 数据=0 期望结果: row0:testtable_rid=1 | 数据=0 正如您所看到的,似乎序列不受事务回滚的影响。它们继续增加,就像事务被提交然后行被删除一样。有没有什么办法可以防止序列以这种方式行为?