Heim >Datenbank >MySQL-Tutorial >Wie füge ich in PostgreSQL einen automatisch inkrementierenden Primärschlüssel hinzu, ohne Daten zu verlieren?

Wie füge ich in PostgreSQL einen automatisch inkrementierenden Primärschlüssel hinzu, ohne Daten zu verlieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-04 11:00:34766Durchsuche

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

Automatisch inkrementierender Primärschlüssel in PostgreSQL

In PostgreSQL ist die Erstellung eines automatisch inkrementierenden Primärschlüssels für die Generierung eindeutiger und sequenzieller Identifikatoren unerlässlich Tabellenzeilen. Allerdings kann bei Benutzern der Fehler „Sequenz muss denselben Besitzer haben wie die Tabelle, mit der sie verknüpft ist“ auftreten, wenn sie versuchen, eine „id“-Spalte mit dem Datentyp „BIGSERIAL“ hinzuzufügen.

Behebung des Eigentumsproblems

Um diesen Fehler zu beheben, stellen Sie sicher, dass der Benutzer, der den Befehl ALTER TABLE ausführt, denselben Besitz hat wie der Benutzer, der die Tabelle erstellt hat. Mit anderen Worten, sowohl die Tabelle als auch die zugehörige Sequenz müssen demselben Benutzer gehören.

Erstellen eines automatisch inkrementierenden Primärschlüssels

So erstellen Sie einen automatisch inkrementierenden Primärschlüssel Um den Schlüssel zu ändern, ohne die Tabelle neu zu erstellen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie in pgAdmin mit der rechten Maustaste auf die Tabelle und wählen Sie „Bearbeiten“. Tabelle.“
  2. Navigieren Sie zur Registerkarte „Design“.
  3. Klicken Sie auf „Hinzufügen...“, um eine neue Spalte hinzuzufügen.
  4. Geben Sie „key_column“ als Spalte ein Name und „BIGSERIAL“ als Datentyp.
  5. Aktivieren Sie das Kontrollkästchen „Primärschlüssel“.
  6. Klicken Sie „OK“, um die Änderungen zu speichern.

Alternativer Befehl

Alternativ führen Sie den folgenden Befehl in der PostgreSQL-Befehlszeile aus:

ALTER TABLE your_table ADD COLUMN key_column BIGSERIAL PRIMARY KEY;

Denken Sie daran, denselben Datenbankbenutzer zu verwenden, der die Tabelle erstellt hat. Nachdem Sie diesen Befehl ausgeführt haben, verfügt Ihre Tabelle über einen automatisch inkrementierenden Primärschlüssel, ohne dass vorhandene Daten verloren gehen.

Das obige ist der detaillierte Inhalt vonWie füge ich in PostgreSQL einen automatisch inkrementierenden Primärschlüssel hinzu, ohne Daten zu verlieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn