Heim > Datenbank > MySQL-Tutorial > Wie kann ich automatisch inkrementierende Primärschlüssel in PostgreSQL richtig implementieren?

Wie kann ich automatisch inkrementierende Primärschlüssel in PostgreSQL richtig implementieren?

Susan Sarandon
Freigeben: 2025-01-22 11:41:10
Original
684 Leute haben es durchsucht

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

Fehlerbehebung bei der automatischen Inkrementierung von Spalten in PostgreSQL

Beim Versuch, AUTO_INCREMENT zum automatischen Nummerieren von Primärschlüsseln in PostgreSQL zu verwenden, können Fehler auftreten. Schauen wir uns die möglichen Ursachen und ihre Lösungen an:

PostgreSQL 10 und höher

In PostgreSQL 10 und höher wird empfohlen, die IDENTITY-Spalte von Standard-SQL anstelle von AUTO_INCREMENT zu verwenden.

Erstellen Sie eine Tabelle mit der IDENTITY-Spalte

<code class="language-sql">CREATE TABLE staff (  
 staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY  
, staff text NOT NULL  
);</code>
Nach dem Login kopieren

IDENTITY-Spalte zur vorhandenen Tabelle hinzufügen

<code class="language-sql">ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY;</code>
Nach dem Login kopieren

Machen Sie dies auch zum Primärschlüssel:

<code class="language-sql">ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY;</code>
Nach dem Login kopieren

PostgreSQL 9.6 oder niedriger

Verwenden Sie für 9.6 oder niedriger den seriellen Pseudodatentyp:

<code class="language-sql">CREATE TABLE staff (  
 staff_id serial PRIMARY KEY  
, staff text NOT NULL  
);</code>
Nach dem Login kopieren

Zusätzliche Hinweise

Bitte stellen Sie sicher, dass Sie gültige Bezeichner verwenden (Kleinbuchstaben, keine Anführungszeichen), um mögliche Probleme zu vermeiden.

Wenn Sie serielle Spalten durch IDENTITY-Spalten ersetzen möchten, lesen Sie bitte dieses Dokument als Anleitung.

Sie können OVERRIDING {SYSTEM|USER} VALUE verwenden, um Systemwerte oder Benutzereingaben in INSERT-Befehlen zu überschreiben.

Das obige ist der detaillierte Inhalt vonWie kann ich automatisch inkrementierende Primärschlüssel in PostgreSQL richtig implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage