我使用了postgresql序列,并尝试从序列中获取nextval。我使用缓存1,起始值为1.当计算机运行时,事情进展顺利。但是在我异常关闭机器并重新启动它之后,我发现"选择nextval(' patient_seq')"跳过30或33.我使用缓存1来执行该序列。 谁知道为什么?序列如何在postgresq中起作用?
答案 0 :(得分:1)
每次拨打select nextval('patient_seq')
时,您都会分配&即使你不使用它也会递增。
我认为您打算使用select currval('patient_seq')
,它会为您提供由nextval
分配的最后一个值。
这将允许您运行一堆插入,然后查看最后插入的值是什么。