- ベストアンサー
シーケンシャル番号
既存のテーブルのデータを全て削除し、 あらたに新しいデータを挿入しようとしていますが、 シーケンシャル番号を1からふりたいのですが、 SELECT setval('もともとのシーケンス',1); とするとシーケンシャルは2番目から始まってしまいます。 SELECT setval('もともとのシーケンス',0); とするとエラーになってしまいます。 スタート値を1からつけたいのですが、 どのようにしたらよいのでしょうか??
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SELECT setval ('"もともとのシーケンス"',1,false); 基本値の後がfalseの場合、基本値の値から始まります。 基本値の後がtrueの場合、基本値の次の値から始まります。 (指定がない場合、true)
その他の回答 (1)
- EEshiba
- ベストアンサー率29% (45/152)
回答No.1
seauenceの最小値の初期値は1なので SELECT setval('もともとのシーケンス',0); はエラーになります。 ALTER SEQUENCE もともとのシーケンス MINVALUE 0 とすれば、0が初期値としてセットできるので、 nextvalは1から取得できると思うのですが。 但し、今、手元に環境が無く、やってみていないので、自信はありません。
質問者
お礼
ありがとうございます。やってみます。
お礼
なるほどっ!!さっそくやってみます。ありがとうございます。