シーケンスって便利ですよね。
SQLでもできるし、phppgadminを使えばGUIでも操作できる!
しかし、シーケンス設定っていまいちよくわからないのでまとめます。
- phppgadminでのシーケンスの作成
phppgadminでシーケンスを作成しようとするとこんな画面がでます。
名前:シーケンスの名前をつけます。
よく見るのは「 テーブル名_カラム名_seq」ですね。
増加数:直前の数値からいくつ増加するか。
最小値:デフォルトは1。
最大値:MAX値
開始値:デフォルトは最小値と同じ。
キャッシュ値:メモリに格納しておくシーケンス番号の量を指定します。
これによりアクセスを高速にすることができます。
最小値は1(デフォルト)
Can cycle?:番号が最大値を超えた場合に最小値に戻るかどうか。
「いいえ」(デフォルト)が指定された場合、シーケンスの限界値に達した後の
nextval
呼び出しは全てエラーになる。
ログカウント:わからん!誰か教えてください。
Will increment last value before returning next value (is_called)?:
訳)次の値を返す前に最終値を増加しますか?
例えば、
増加数:1
最小値:1
開始値:1
Will increment last value before returning next value (is_called)?:いいえ
このシーケンスは1から始まり、2,3,4,….と1ずつ増加します。
- phppgadminでのシーケンスの初期化
1.「リセット」をクリック。//最終値が1となる
2.「Restart」をクリック。//Will increment last value before returning next value (is_called)?が「いいえ」となる
- SQLでのシーケンスの初期化
SELECT setval (‘シーケンス名’, 1, false);
第2引数:最終値
第3引数:値を返す前に増加させるか<</Will increment last value before returning next value (is_called)?>> true(増加する)/false(増加させない)