Postgresにてシーケンスをリセットする方法

idフィールドをauto_incrementにしている場合、

truncateでテーブルを空にしても、id値が元に戻りません。

例えばusersというテーブルをtruncateした場合、

以下sqlを発行してください。

select * from users_id_seq;

そうするとlast_valueという値があると思いますが、

こちらを初期化してあげないと、truncateする前の値から

増えていってしまいます。

で、こちらの初期化方法は以下になります。

select setval ('users_id_seq', 1, false);

ちなみに以下のように番号をいじる事も可能です。

select setval ('users_id_seq', 10);

この場合は、次のid値は11から始まる事になります。


コメントを残す




Menu

HOME

 TOP