1. ホーム
  2. postgresql

[解決済み] PostgreSQL 自動インクリメント

2022-03-15 16:04:40

質問

MySQLからPostgreSQLに乗り換えたのですが、どうすればオートインクリメント値を作成できるのでしょうか?PostgreSQLのドキュメントでデータ型 "serial"を見ましたが、(v8.0で)それを使用すると構文エラーが発生します。

解決方法は?

はい、SERIALが同等の関数です。

CREATE TABLE foo (
    id SERIAL,
    bar varchar
);

INSERT INTO foo (bar) VALUES ('blah');
INSERT INTO foo (bar) VALUES ('blah');

SELECT * FROM foo;

+----------+
| 1 | blah |
+----------+
| 2 | blah |
+----------+

SERIALはシーケンスを中心としたテーブル作成時のマクロに過ぎません。 SERIALを既存のカラムに変更することはできません。