Das Erstellen einer Tabelle mit einer AUTO_INCREMENT-Spalte in PostgreSQL kann eine Herausforderung sein, wie der im bereitgestellten Beispiel aufgetretene Syntaxfehler zeigt. Um dieses Problem zu lösen, müssen wir die korrekte Syntax von AUTO_INCREMENT in PostgreSQL kennen.
Im Gegensatz zu anderen Datenbanksystemen verfügt PostgreSQL nicht über einen dedizierten AUTO_INCREMENT-Datentyp. Stattdessen bietet es zwei Möglichkeiten, automatisch sequentielle Werte zu generieren:
IDENTITY-Spalte:
Ab PostgreSQL 10 können Standard-SQL-IDENTITY-Spalten verwendet werden. Diese Spalten können standardmäßig oder immer deterministisch generiert werden.
So erstellen Sie eine Tabelle mit einer IDENTITY-Spalte:
<code class="language-sql">CREATE TABLE staff ( staff_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, staff TEXT NOT NULL );</code>
SERIAL-Datentyp:
In diesen älteren Versionen wurde der Pseudodatentyp SERIAL für die automatische Inkrementierung von Primärschlüsseln verwendet. Es erstellt automatisch eine Sequenz und setzt den DEFAULT-Wert auf den nächsten Wert in der Sequenz.
So erstellen Sie eine Tabelle mit SERIAL-Spalten:
<code class="language-sql">CREATE TABLE staff ( staff_id SERIAL PRIMARY KEY, staff TEXT NOT NULL );</code>
Mit diesen Methoden können Sie in PostgreSQL Tabellen mit automatisch generierten sequentiellen Werten als Primärschlüssel erstellen.
Das obige ist der detaillierte Inhalt vonWie implementiert man die AUTO_INCREMENT-Funktionalität in PostgreSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!