MySQLではオートインクリメントという機能で、idフィールドなどの値に連番を自動発行してくれるのだが、PostgreSQLの場合はオートインクリメントが用意されていない。
今回はNavicatを使って、PostgreSQLのデフォルト値にシーケンスとして管理されている連番を設定する方法を紹介する。
シーケンスの作成
まず、Navicatでシーケンスを用意しておく。
上部のメニューから「シーケンス」を選択し、「新規シーケンス」ボタンから作成する。
この時、「所有元を追加」にチェックを入れ、対象のテーブルと列をプルダウンから設定しておく。
デフォルト値にシーケンスを設定
次に、対象のテーブルを選択し「テーブルを設計」を開く。
連番を設定したいフィールドを選択し、デフォルト値に次のように入力する。
nextval('sequence_name'::regclass)
フィールドはプルダウンになっているが、自由入力もできるため上記のsequence_nameのところを変更してそのまま入力。
これでINSERT文を実行すると、idフィールドに値を入れることなく自動で連番が設定されるようになる。