ホームページ >データベース >mysql チュートリアル >PostgreSQL に AUTO_INCREMENT 機能を実装するにはどうすればよいですか?

PostgreSQL に AUTO_INCREMENT 機能を実装するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-22 11:47:13644ブラウズ

How to Implement AUTO_INCREMENT Functionality in PostgreSQL?

PostgreSQL の自動番号付け: AUTO_INCREMENT 関数を実装します

提供された例で発生した構文エラーが示すように、PostgreSQL で AUTO_INCREMENT 列を含むテーブルを作成するのは困難な場合があります。この問題を解決するには、PostgreSQL の AUTO_INCREMENT の正しい構文を知る必要があります。

他のデータベース システムとは異なり、PostgreSQL には専用の AUTO_INCREMENT データ型がありません。代わりに、連続した値を自動的に生成する 2 つの方法が提供されます。

PostgreSQL 10 以降

IDENTITY 列:

PostgreSQL 10 以降では、標準の SQL IDENTITY 列を使用できるようになりました。これらの列は、デフォルトで生成することも、常に決定的に生成することもできます。

IDENTITY 列を含むテーブルを作成するには:

<code class="language-sql">CREATE TABLE staff (
  staff_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  staff    TEXT NOT NULL
);</code>

PostgreSQL 9.6 以前

シリアルデータ型:

これらの古いバージョンでは、主キーの自動インクリメントに SERIAL 疑似データ型が使用されていました。シーケンスが自動的に作成され、DEFAULT 値がシーケンス内の次の値に設定されます。

シリアル列を含むテーブルを作成するには:

<code class="language-sql">CREATE TABLE staff (
  staff_id SERIAL PRIMARY KEY,
  staff    TEXT NOT NULL
);</code>

これらのメソッドを使用すると、自動的に生成された連続値を主キーとして持つテーブルを PostgreSQL に作成できます。

以上がPostgreSQL に AUTO_INCREMENT 機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。