Dlaczego tak
Licznik AUTO_INCREMENT pamięta ostatnią przydzieloną wartość i nie cofa się po usunięciu wiersza, więc nowy wiersz dostanie id 4, a wartość 3 pozostanie wolna. Odpowiedź 3 to typowy błąd założenia, że SZBD wypełnia luki. NULL podany jako id też uruchamia AUTO_INCREMENT, więc kolumna klucza głównego nigdy nie zostanie pusta.