NOT NULL w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Co oznacza NOT NULL w SQL?
NOT NULL to ograniczenie nakładane na kolumnę tabeli. Oznacza, że w danej kolumnie nie można zapisać wartości pustej NULL. Każdy rekord musi mieć w tej kolumnie konkretną wartość.
Przykład użycia
CREATE TABLE uczniowie (
id INT,
imie VARCHAR(30) NOT NULL
);
W tym przykładzie kolumna imie nie może być pusta. Próba dodania rekordu bez imienia spowoduje błąd.
INSERT INTO uczniowie (id) VALUES (1);
Takie polecenie może zostać odrzucone, ponieważ nie podano wartości dla kolumny imie.
NOT NULL przy ALTER TABLE
Ograniczenie NOT NULL można też dodać podczas modyfikowania struktury tabeli:
ALTER TABLE produkty ADD cena DOUBLE NOT NULL;
Polecenie dodaje kolumnę cena, która musi zawierać wartość liczbową. Nie oznacza to jednak, że NOT NULL wpisuje jakąś domyślną wartość. Ono jedynie zabrania pozostawienia pustej wartości.
Ważne rozróżnienie
DOUBLEokreśla typ danych kolumny.NOT NULLokreśla, że kolumna nie może być pusta.DEFAULTokreśla wartość domyślną, jeśli jej nie podano.
Na egzaminie warto pamiętać, że NOT NULL jest ograniczeniem, a nie typem danych ani wartością.