将序列值重置为1 [英] Reset sequence value as 1
本文介绍了将序列值重置为1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在 TRUNCATE
表之后,重新设置他的顺序,为此我要做:
I need that after TRUNCATE
table, reset his sequence, for this I do :
SELECT setval('mytable_id_seq', 1)
之后,当在表,序列从 2
而不是 1
After, when insert rows in table, sequence is started from 2
not 1
开始如何重新设置序列值,这样新的第一个值将是 1
?
How to resert sequence value such, that new first value will be 1
?
SELECT setval('mytable_id_seq', 0) // gives error that value is out of range
推荐答案
首先设置序列的最小值
alter sequence mytable_id_seq minvalue 0 start with 1;
现在要么重置它:
SELECT setval('mytable_id_seq', 0)
或在重置时截断:
truncate mytable restart identity;
这篇关于将序列值重置为1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文