ホームページ > データベース > mysql チュートリアル > PostgreSQL で自動インクリメント主キーを適切に実装するにはどうすればよいですか?

PostgreSQL で自動インクリメント主キーを適切に実装するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-22 11:41:10
オリジナル
699 人が閲覧しました

How Do I Properly Implement Auto-Incrementing Primary Keys in PostgreSQL?

PostgreSQL の自動インクリメント列のトラブルシューティング

PostgreSQL で AUTO_INCREMENT を使用して主キーに自動的に番号を付けようとすると、エラーが発生する場合があります。考えられる原因とその解決策を詳しく見てみましょう:

PostgreSQL 10 以降

PostgreSQL 10 以降では、AUTO_INCREMENT の代わりに標準 SQL の IDENTITY 列を使用することをお勧めします。

IDENTITY 列を含むテーブルを作成します

CREATE TABLE staff (  
 staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY  
, staff text NOT NULL  
);
ログイン後にコピー

既存のテーブルに IDENTITY 列を追加

ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY;
ログイン後にコピー

これを主キーにもします:

ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY;
ログイン後にコピー

PostgreSQL 9.6 以前

9.6 以前の場合は、シリアル疑似データ型を使用します:

CREATE TABLE staff (  
 staff_id serial PRIMARY KEY  
, staff text NOT NULL  
);
ログイン後にコピー

追加メモ

潜在的な問題を防ぐために、必ず有効な識別子 (小文字、引用符なし) を使用してください。

シリアル列を IDENTITY 列に置き換える場合は、このドキュメントを参照してください。

OVERRIDING {SYSTEM|USER} VALUE を使用すると、INSERT コマンドでのシステム値またはユーザー入力をオーバーライドできます。

以上がPostgreSQL で自動インクリメント主キーを適切に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート