Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

PostgreSQLで連番の数値を入れたい場合 その1:SERIAL型

PostgreSQLでの特殊なデータ型にSERIAL型というのがあります。

実際のところ

CREATE TABLE samples (
  product_id SERIAL,
  body text
);

SERIAL型を使う場合、データ指定はDEFAULTとします。
具体的な数値を突っ込むと、その通りの値が入ります。

INSERT INTO samples VALUES (1,'body'),(1,'foovar');
INSERT INTO samples VALUES (DEFAULT,'yes'),(DEFAULT,'no');
INSERT INTO samples VALUES (DEFAULT,'foo'),(DEFAULT,'bar');

実際みてみると、こんな塩梅です。

SELECT * FROM samples;
 product_id |  body  
------------+--------
          1 | body
          1 | foovar
          1 | yes
          2 | no
          3 | foo
          4 | bar
(6 rows)