Kolumna PRIMARY KEY jest równoważna UNIQUE i NOT NULL i jest domyślnie indeksowana.
Powinna być UNIQUE, ponieważ klucz podstawowy identyfikuje wiersze w tabeli, więc 2 różne wiersze nie powinny mieć tego samego klucza.
Ponadto klucz podstawowy może być używany jako FOREIGN KEY w innych tabelach i dlatego nie może mieć wartości NULL, aby inna tabela mogła znaleźć wiersze w tabeli, do której się odwołuje.
Na przykład:
CREATE person{
id INT PRIMARY KEY, -- equals UNIQUE NOT NULL
name VARCHAR(20)
};
CREATE family{
id INT PRIMARY KEY, -- equals UNIQUE NOT NULL
menber_id INT FOREIGN KEY REFERENCE person(id)
};