Który atrybut kolumny zapewnia automatyczne nadawanie kolejnych, unikalnych wartości (np. dla klucza głównego)?
Źle.
UNIQUE pilnuje braku powtórzeń, ale wartości nie nadaje automatycznie.Dobrze.
AUTO_INCREMENT sam zwiększa wartość przy każdym nowym wierszu.Źle.
DEFAULT wstawia stałą wartość domyślną, nie kolejne numery.Źle.
NOT NULL wymusza niepustość, ale nie generuje wartości.Atrybut
AUTO_INCREMENT (w MySQL) sprawia, że przy dodaniu nowego wiersza baza sama wstawia do kolumny kolejną, większą o jeden liczbę. Stosuje się go najczęściej dla numerycznego klucza głównego (id), by nie trzeba było ręcznie pilnować unikalności identyfikatorów. Dlatego automatyczne nadawanie kolejnych wartości zapewnia AUTO_INCREMENT.Pozostałe atrybuty pełnią inne role.
NOT NULL wymusza, by pole nie było puste, lecz żadnej wartości nie tworzy. DEFAULT wstawia ustaloną z góry wartość domyślną, gdy nie podano innej - ta sama dla każdego wiersza, a nie rosnący numer. UNIQUE gwarantuje, że wartości w kolumnie się nie powtórzą, ale to programista musi je dostarczyć. Automatyczne generowanie kolejnych liczb zapewnia AUTO_INCREMENT, dlatego to on jest poprawny.