PostgreSQL Drop-Primärschlüssel

Shihab Sikder 20 Juni 2023
PostgreSQL Drop-Primärschlüssel

Dieser Artikel behandelt die Verwendung der Abfrage ALTER TABLE zum Löschen der Primärschlüsseleinschränkung in PostgreSQL.

Löschen Sie den Primärschlüssel in PostgreSQL

Sie haben eine Tabelle und möchten das Feld Primärschlüssel löschen. Sehen Sie sich die folgende Tabelle des Mitarbeiters an.

Mit \d Tabellenname können wir den Feldnamen und -typ jeder Spalte sehen.

postgres=# \d record
                       Table "public.record"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 id       | integer               |           | not null |
 username | character varying(50) |           |          |
 email    | character varying(50) |           |          |
 gender   | character varying(50) |           |          |
 company  | character varying(50) |           |          |
Indexes:
    "record_pkey" PRIMARY KEY, btree (id)

Das Code-Snippet zeigt, dass id der Primärschlüssel ist und die Einschränkung record_pkey ist. Lassen Sie uns nun die Spalte Primärschlüssel fallen lassen.

Die Syntax zum Löschen eines vorhandenen Primärschlüssels.

ALTER TABLE table_name DROP CONSTRAINT primary_key_constraint;

Hier haben wir eine Tabelle namens record. Um die id aus der Datensatztabelle zu löschen, lautet die Abfrage:

ALTER TABLE record
DROP CONSTRAINT record_pkey;
postgres=# ALTER TABLE record
postgres-# DROP CONSTRAINT record_pkey;
ALTER TABLE

Sehen wir uns nun die Tabellenbeschreibung an. Wir sollten die Linie nicht sehen.

"record_pkey" PRIMARY KEY, btree (id)

Die Spalte ID wird immer noch in der Tabelle sein, weil wir die Primärschlüsseleinschränkung entfernen, nicht die gesamte Spalte. Er wird nicht als Primärschlüssel behandelt.

Geben Sie \d records ein, und jetzt sollten Sie die folgende Ausgabe erhalten.

postgres=# \d record;
                       Table "public.record"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 id       | integer               |           | not null |
 username | character varying(50) |           |          |
 email    | character varying(50) |           |          |
 gender   | character varying(50) |           |          |
 company  | character varying(50) |           |          |


postgres=#

Es gibt viele ALTER TABLE-Abfragen; Sie können sich die offizielle Dokumentation ansehen. Außerdem können Sie die Spalte Primärschlüssel bearbeiten, dh Sie können den Primärschlüssel ändern.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Verwandter Artikel - PostgreSQL Key