ホームページ >データベース >mysql チュートリアル >PostgreSQL に AUTO_INCREMENT 機能を実装するにはどうすればよいですか?
提供された例で発生した構文エラーが示すように、PostgreSQL で AUTO_INCREMENT 列を含むテーブルを作成するのは困難な場合があります。この問題を解決するには、PostgreSQL の AUTO_INCREMENT の正しい構文を知る必要があります。
他のデータベース システムとは異なり、PostgreSQL には専用の AUTO_INCREMENT データ型がありません。代わりに、連続した値を自動的に生成する 2 つの方法が提供されます。
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>
シリアルデータ型:
これらの古いバージョンでは、主キーの自動インクリメントに 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 サイトの他の関連記事を参照してください。