我使用查询在数据库表中创建了一个名为 t_id 的主键 t_id SERIAL PRIMARY KEY。第一次,它从 1 开始很好。然后我删除了所有数据,从那时起,即使我将它设置为 1,它也从 2 开始。
t_id SERIAL PRIMARY KEY
这是我在 seq 上所做的截图 - 在 pgAdmin4 上的定义:
任何人都知道问题出在哪里?
非常感谢!!
当前值为 1,因此将提供的下一个值是 2。这是意料之中的。
该文档对这个主题很有帮助。
请记住,序列将始终为您提供一个以前未使用过的值。所以如果你插入10行,然后删除它们,下一个序列值仍然是11(最后一个服务值+1)
要重置序列以便下次调用它时返回 1,您可以这样做
SELECT setval('my_sequence_name', 1, false);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
点击生成二维码
我来说两句