Kolumna, która ma automatycznie otrzymywać kolejne liczby całkowite przy dodawaniu nowych rekordów, wymaga mechanizmu autoinkrementacji. W MySQL i MariaDB realizuje to atrybut AUTO_INCREMENT. Dzięki niemu, gdy w instrukcji INSERT nie podasz wartości tej kolumny, serwer bazy danych nada ją sam, zwiększając licznik o 1 (z zachowaniem reguł danego silnika).
Dlaczego pozostałe odpowiedzi nie spełniają warunku z pytania?
- NOT NULL oznacza jedynie, że w kolumnie nie wolno zapisać braku wartości. To ograniczenie spójności danych, ale nie tworzy automatycznie kolejnych liczb. Można mieć kolumnę NOT NULL, która wciąż wymaga ręcznego podawania wartości.
- PRIMARY KEY definiuje klucz główny, czyli wymusza unikalność i identyfikację rekordu. Bardzo często kolumna AUTO_INCREMENT jest jednocześnie kluczem głównym, ale sam klucz główny nie "produkuje" rosnących wartości — tylko pilnuje, aby wartości nie powtarzały się.
- NULL to dopuszczenie braku wartości. Jest przeciwieństwem NOT NULL i również nie ma związku z automatycznym nadawaniem kolejnych liczb.
Wskazówka egzaminacyjna: gdy pytanie mówi o "kolejnych liczbach nadawanych automatycznie", szukaj mechanizmu generowania wartości (autoinkrementacji/identity), a nie ograniczeń typu unikalność czy (nie)wymagalność pola.