Który atrybut kolumny zapewnia automatyczne nadawanie kolejnych, unikalnych wartości (np. dla klucza głównego)?
Dobrze.
AUTO_INCREMENT sam zwiększa wartość przy każdym nowym wierszu.Źle.
DEFAULT wstawia stałą wartość domyślną, nie kolejne numery.Źle.
UNIQUE pilnuje braku powtórzeń, ale wartości nie nadaje automatycznie.Ź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.