Gerar automaticamente números de série

Eu escrevi o código de contagem abaixo com o objetivo de produzir números de série automáticos para meus dados no lugar do número de série do MySQL, que vai assim que a linha é excluída. Mas quando o executo, não observei nenhuma entrada na tabela do MySQL. Mais tarde, alterei os códigos para Dreamweaver Insert Record e lá observei que os campos SN (Número de série) não precisavam ser NULL.

Ao solicitar que eu insira valor no campo SN antes de postar, significa que este código de linha: "$ query = ......" e "$ sn = ......" não gerarão os valores esperados para ele.

Portanto, em princípio, preciso de ajuda sobre como gerar um número de série automático de 1 a tantos dados quantos serão criados.

<?php
if(isset($_POST['submit']))
{
    $query  = mysql_query("SELECT COUNT(*) as counter FROM tbl_donors");
    $sn     = mysql_num_rows($query) + 1;
    $donorname      = $_POST['donorname'];
    $designation    = $_POST['designation'];
    $address        = $_POST['address'];
    $city       = $_POST['city'];
    $state      = $_POST['state'];
    $country        = $_POST['country'];
    $phone      = $_POST['phone'];
    $emailaddr      = $_POST['emailaddr'];
    $user_name      = $_POST['user_name'];

    mysql_select_db ($database_xxxxxxxxxx,$xxxxxxxxxx);
   $query = ("INSERT INTO tbl_donors (donor_id, sn, donorname, designation, address , city, state, country , phone, emailaddr, user_name) VALUES ('', '$sn', '$donorname' , '$designation', '$address', '$city' , '$state', '$country', '$phone, '$emailaddr', '$user_name')");
    $results = mysql_query($query,$xxxxxxxxxx) or die
    ("Could not execute query : $query." . mysql_error());
    mysql_close();
}  
?>

questionAnswers(2)

yourAnswerToTheQuestion