ホームページ >データベース >mysql チュートリアル >データを失わずに PostgreSQL に自動インクリメント主キーを追加する方法

データを失わずに PostgreSQL に自動インクリメント主キーを追加する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 11:00:34761ブラウズ

How to Add an Auto-Incrementing Primary Key in PostgreSQL Without Losing Data?

PostgreSQL での自動インクリメント主キー

PostgreSQL では、自動インクリメント主キーの作成は、一意の連続した識別子を生成するために不可欠です。テーブルの行。ただし、「BIGSERIAL」データ型の「id」列を追加しようとすると、「シーケンスにはリンク先のテーブルと同じ所有者が必要です」というエラーが発生する場合があります。

所有権の問題の修正

このエラーを解決するには、ALTER TABLE コマンドを実行するユーザーが、そのコマンドを作成したユーザーと同じ所有権を持っていることを確認してください。 テーブル。つまり、テーブルと関連付けられたシーケンスの両方が同じユーザーに属している必要があります。

自動インクリメント主キーの作成

自動インクリメント主キーを作成するにはテーブルを再作成せずにキーを削除するには、次の手順を実行します。

  1. pgAdmin で、 を右クリックします。テーブルを選択し、[テーブルの編集] を選択します。
  2. [デザイン] タブに移動します。
  3. [追加...] をクリックして、新しい列を追加します。
  4. Enterカラム名として「key_column」、データ型として「BIGSERIAL」を指定します。
  5. 「主キー」を確認します。チェックボックス。
  6. 「OK」をクリックして変更を保存します。

代替コマンド

または、PostgreSQL コマンド ラインで次のコマンドを実行します。 :

ALTER TABLE your_table ADD COLUMN key_column BIGSERIAL PRIMARY KEY;

テーブルを作成したのと同じデータベース ユーザーを使用することを忘れないでください。このコマンドを実行すると、既存のデータを失うことなく、テーブルに自動インクリメントされる主キーが追加されます。

以上がデータを失わずに PostgreSQL に自動インクリメント主キーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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