Usuń ograniczenie NOT NULL w Postgres

Usun Ograniczenie Not Null W Postgres



W relacyjnych bazach danych, takich jak PostgreSQL, ograniczenia są kluczowe dla zachowania integralności danych i egzekwowania określonych reguł dotyczących kolumn tabeli. Jednym z takich ograniczeń jest ograniczenie „NOT NULL”. W tym samouczku przyjrzymy się koncepcji ograniczenia NOT NULL i przedstawimy przewodnik krok po kroku dotyczący tworzenia i usuwania go w PostgreSQL.

Co to jest ograniczenie NOT NULL?

Ograniczenie NOT NULL zapewnia, że ​​kolumna nie może zawierać wartości pustych, które wymagają, aby każdy wiersz w tabeli miał wartość inną niż null dla tej konkretnej kolumny.

Wymagania dotyczące samouczka:

Aby postępować zgodnie z instrukcjami podanymi w tym poście, zakładamy, że masz następujące wymagania:







  1. Zainstalowany serwer PostgreSQL na twoim komputerze
  2. Podstawowa znajomość SQL
  3. Uprawnienie do tworzenia obiektów tabeli bazy danych, takich jak ograniczenia, funkcje itp

Przykładowa tabela:

Zacznijmy od skonfigurowania przykładowej tabeli z kolumnami zawierającymi ograniczenie niezerowe. Weź następującą instrukcję tworzenia tabeli, która tworzy podstawową tabelę przypominającą tabelę wp_users w WordPress:



UTWÓRZ TABELĘ wp_users (
IDENTYFIKATOR SERYJNEGO KLUCZA PODSTAWOWEGO,
user_login VARCHAR(60) NIE NULL,
user_pass VARCHAR(255) NIE NULL,
user_nicename VARCHAR(50) NOT NULL,
e-mail_użytkownika VARCHAR(100) NIE NULL,
user_url VARCHAR(100),
user_registered TIMESTAMP NOT NULL DEFAULT current_timestamp,
user_activation_key VARCHAR(255),
status_użytkownika INT NIE NULL DOMYŚLNIE 0,
nazwa_wyświetlana VARCHAR(250) NIE NULL
);

Z podanego zapytania zauważysz, że większość kolumn zawiera ograniczenie NOT NULL.



Najbardziej wydajną metodą tworzenia ograniczenia NOT NULL w danej kolumnie jest tworzenie tabeli. Dzięki temu wszystkie dane dodawane do tabeli są zgodne z regułami ograniczenia.





Jeśli jednak dodasz ograniczenie do istniejącej tabeli, reguły będą miały zastosowanie tylko do danych dodanych po ograniczeniu, a nie do żadnych istniejących danych. Może to prowadzić do niespójności, zwłaszcza w przypadku dużych tabel.

Dodaj ograniczenie NOT NULL

W niektórych przypadkach możesz chcieć dodać ograniczenie NOT NULL do istniejącej tabeli. Można na przykład użyć polecenia ALTER TABLE, po którym następuje klauzula ALTER COLUMN.



Składnia jest następująca:

ALTER TABLE nazwa_tabeli
ALTER COLUMN nazwa_kolumny SET NOT NULL;

Zastąp nazwa_tabeli tabelą docelową, a kolumnę nazwa_kolumny kolumną docelową, do której chcesz zastosować ograniczenie.

Sprawdź ograniczenie

Możesz sprawdzić, czy ograniczenie istnieje w danej tabeli, używając polecenia „\d” w narzędziu PSQL.

\d nazwa_tabeli

Przykład:

sample_db=# \d wp_users;

Wynikowy wynik jest następujący:

Usuń ograniczenie NOT NULL

Możesz także chcieć usunąć ograniczenie NOT NULL z danej kolumny. W tym celu możemy użyć klauzul ALTER TABLE i ALTER COLUMN w następujący sposób:

ALTER TABLE nazwa_tabeli
ALTER COLUMN nazwa_kolumny DROP NOT NULL;

Na przykład, aby usunąć ograniczenie NOT NULL z kolumny user_url tabeli wp_users, możemy uruchomić następujące zapytanie:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

To powinno usunąć ograniczenie z tabeli.

Wniosek

W tym samouczku zbadano, w jaki sposób możemy pracować z ograniczeniem NOT NOLL w PostgreSQL. Zbadaliśmy również, jak usunąć istniejące ograniczenie NOT NULL z danej kolumny.