ホームページ >データベース >mysql チュートリアル >PostgreSQL で自動インクリメント主キーを適切に実装するにはどうすればよいですか?
PostgreSQL で AUTO_INCREMENT を使用して主キーに自動的に番号を付けようとすると、エラーが発生する場合があります。考えられる原因とその解決策を詳しく見てみましょう:
PostgreSQL 10 以降では、AUTO_INCREMENT の代わりに標準 SQL の IDENTITY 列を使用することをお勧めします。
<code class="language-sql">CREATE TABLE staff ( staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY , staff text NOT NULL );</code>
<code class="language-sql">ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY;</code>
これを主キーにもします:
<code class="language-sql">ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY;</code>
9.6 以前の場合は、シリアル疑似データ型を使用します:
<code class="language-sql">CREATE TABLE staff ( staff_id serial PRIMARY KEY , staff text NOT NULL );</code>
潜在的な問題を防ぐために、必ず有効な識別子 (小文字、引用符なし) を使用してください。
シリアル列を IDENTITY 列に置き換える場合は、このドキュメントを参照してください。
OVERRIDING {SYSTEM|USER} VALUE を使用すると、INSERT コマンドでのシステム値またはユーザー入力をオーバーライドできます。
以上がPostgreSQL で自動インクリメント主キーを適切に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。