Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

DEFAULT i UNIQUE - dodatkowe reguły

Poznałeś już PRIMARY KEY, AUTO_INCREMENT i NOT NULL. Skryptorium ma jeszcze dwie cenne reguły, które porządkują dane: DEFAULT i UNIQUE.

DEFAULT - wartość domyślna

Gdy przy zapisie nowego wiersza nie podamy wartości dla kolumny, MySQL wstawi za nas wartość domyślną:

1dostepna BOOLEAN DEFAULT TRUE

Nowa książka jest domyślnie dostępna, dopóki ktoś jej nie wypożyczy. DEFAULT zapisujemy po typie kolumny, podając wartość, jaka ma się pojawić automatycznie. Możemy łączyć go z NOT NULL:

1dostepna BOOLEAN NOT NULL DEFAULT TRUE

UNIQUE - niepowtarzalność

Wymusza, że żadne dwa wiersze nie mają tej samej wartości w danej kolumnie:

1email VARCHAR(120) UNIQUE

Dwóch czytelników nie może podać tego samego adresu e-mail - Biblioteka nie zgodzi się na taki zapis.

UNIQUE kontra PRIMARY KEY

To bliscy krewni, ale są różnice:

  • Tabela ma tylko jeden PRIMARY KEY, ale może mieć wiele kolumn UNIQUE.
  • PRIMARY KEY nigdy nie może być pusty; kolumna UNIQUE (bez NOT NULL) może przyjąć NULL.
  • PRIMARY KEY to główny sposób identyfikacji wiersza; UNIQUE pilnuje niepowtarzalności dodatkowych pól, jak
    email
    czy
    numer_karty
    .

Wszystko razem

1CREATE TABLE czytelnicy (
2  id INT AUTO_INCREMENT PRIMARY KEY,
3  imie VARCHAR(50) NOT NULL,
4  email VARCHAR(120) UNIQUE
5);

Klucz główny, pole obowiązkowe i unikalny e-mail - regał gotowy na czytelników!

Przejdź do CodeWorlds