Entfernen Sie die NOT NULL-Einschränkung in Postgres

Entfernen Sie Die Not Null Einschrankung In Postgres



In relationalen Datenbanken wie PostgreSQL sind Einschränkungen entscheidend für die Aufrechterhaltung der Datenintegrität und die Durchsetzung spezifischer Regeln für Tabellenspalten. Eine solche Einschränkung ist die „NOT NULL“-Einschränkung. In diesem Tutorial werden wir das Konzept der NOT NULL-Einschränkung untersuchen und eine Schritt-für-Schritt-Anleitung zum Erstellen und Entfernen dieser Einschränkung in PostgreSQL bereitstellen.

Was ist eine NOT NULL-Einschränkung?

Die NOT NULL-Einschränkung stellt sicher, dass eine Spalte keine Nullwerte enthalten kann, was erfordert, dass jede Zeile in der Tabelle einen Wert ungleich Null für diese bestimmte Spalte hat.

Anforderungen an das Tutorial:

Um den Anweisungen in diesem Beitrag folgen zu können, gehen wir davon aus, dass Sie über die folgenden Voraussetzungen verfügen:







  1. Installierter PostgreSQL-Server auf Ihrem Computer
  2. Grundlegende SQL-Kenntnisse
  3. Berechtigung zum Erstellen der Datenbanktabellenobjekte wie Einschränkungen, Funktionen usw

Beispieltabelle:

Beginnen wir mit der Einrichtung einer Beispieltabelle mit Spalten, die eine Nicht-Null-Einschränkung enthalten. Nehmen Sie die folgende Anweisung zum Erstellen einer Tabelle, die eine Basistabelle einrichtet, die der Tabelle wp_users in WordPress ähnelt:



TABELLE wp_users ERSTELLEN (
ID SERIELLER PRIMÄRSCHLÜSSEL,
user_login VARCHAR(60) NOT NULL,
user_pass VARCHAR(255) NICHT NULL,
user_nicename VARCHAR(50) NOT NULL,
user_email VARCHAR(100) NICHT NULL,
user_url VARCHAR(100),
user_registered TIMESTAMP NOT NULL DEFAULT current_timestamp,
user_activation_key VARCHAR(255),
user_status INT NOT NULL DEFAULT 0,
Anzeigename VARCHAR(250) NICHT NULL
);

Anhand der angegebenen Abfrage werden Sie feststellen, dass die meisten Spalten eine NOT NULL-Einschränkung enthalten.



Die effizienteste Methode zum Erstellen einer NOT NULL-Einschränkung in einer bestimmten Spalte ist während der Tabellenerstellung. Dadurch wird sichergestellt, dass alle der Tabelle hinzugefügten Daten den Regeln der Einschränkung entsprechen.





Wenn Sie jedoch eine Einschränkung zu einer vorhandenen Tabelle hinzufügen, gelten die Regeln nur für die Daten, die nach der Einschränkung hinzugefügt werden, und nicht für vorhandene Daten. Dies kann insbesondere bei großen Tabellen zu Inkonsistenzen führen.

Fügen Sie eine NOT NULL-Einschränkung hinzu

In einigen Fällen möchten Sie möglicherweise eine NOT NULL-Einschränkung zu einer vorhandenen Tabelle hinzufügen. Sie können beispielsweise den Befehl ALTER TABLE gefolgt von der Klausel ALTER COLUMN verwenden.



Die Syntax lautet wie folgt:

ALTER TABLE Tabellenname
ALTER COLUMN Spaltenname SET NOT NULL;

Ersetzen Sie „table_name“ durch Ihre Zieltabelle und „column_name“ durch die Zielspalte, auf die Sie die Einschränkung anwenden möchten.

Überprüfen Sie die Einschränkung

Sie können überprüfen, ob die Einschränkung für eine bestimmte Tabelle vorhanden ist, indem Sie den Befehl „\d“ im PSQL-Dienstprogramm verwenden.

\d Tabellenname

Beispiel:

sample_db=# \d wp_users;

Die resultierende Ausgabe lautet wie folgt:

Entfernen Sie die NOT NULL-Einschränkung

Möglicherweise möchten Sie auch die NOT NULL-Einschränkung aus einer bestimmten Spalte entfernen. Dazu können wir die Klauseln ALTER TABLE und ALTER COLUMN wie folgt verwenden:

ALTER TABLE Tabellenname
ALTER COLUMN Spaltenname DROP NOT NULL;

Um beispielsweise die NOT NULL-Einschränkung aus der Spalte „user_url“ der Tabelle „wp_users“ zu entfernen, können wir die folgende Abfrage ausführen:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Dadurch sollte die Einschränkung aus der Tabelle gelöscht werden.

Abschluss

In diesem Tutorial wurde untersucht, wie wir mit der NOT NOLL-Einschränkung in PostgreSQL arbeiten können. Wir haben auch untersucht, wie man eine bestehende NOT NULL-Einschränkung aus einer bestimmten Spalte löscht.