NOT NULL
NOT NULL służy do stworzenia ograniczenia w kolumnie tabeli. Dzięki użyciu NOT NULL wartość w danej kolumnie tabeli nie może być NULLem.
NOT NULL jest pomocne w sytuacji, gdy na przykład pewne dane muszą zostać podane, na przykład imię, nazwisko oraz adres w zamówieniu danego klienta.
UWAGA:
- NOT NULL definiuje się podczas tworzenia tabeli,
- wartość NULL to nie to samo co pusty string (patrz przykład poniżej).
Składnia:
CREATE TABLE (
nazwa_kolumny typ_danych NOT NULL,
nazwa_kolumny2 typ_danych NOT NULL,
nazwa_kolumny3 typ_danych NOT NULL
);
Przykład:
Tworzymy nową tabelę, w której kolumna
Imie jest polem wymaganym, zaś
Nazwisko może przyjmować puste wartości.
CREATE TABLE tablenotnull(
Imie VARCHAR(40) NOT NULL,
Nazwisko VARCHAR(60)
);
Dodajmy teraz wiersz do tabeli:
INSERT INTO tablenotnull VALUES ('Adam', 'Kowalski');
Zapytanie spowodowało dodanie wiersza do tabeli
tablenotnull.
Wykonajmy teraz kolejne zapytanie, jednak wartość dla kolumny
Imie pozostawmy puste.
INSERT INTO tablenotnull VALUES ('', 'Nazwisko');
Powyższe zapytanie również zostanie wykonane - nie zostanie zwrócony błąd.
Jest to bardzo istotne, ponieważ sytuacja ta często wprowadza w błąd programistów. Wartość
'' powoduje wprowadzenie pustego stringu, a nie wartości NULL.
Aby wprowadzić wartość NULL, musimy użyć następującego zapytania.
INSERT INTO tablenotnull VALUES (NULL, 'Nazwisko');
Takie zapytanie spowoduje wyświetlenie komunikatu:
#1048 - Kolumna 'Imie' nie może być null