将序列值重置为1 [英] Reset sequence value as 1

查看:253
本文介绍了将序列值重置为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆