Indsætte data i MySQL, hvis eksistere så loop til det ikke eksistere
Hej allesammen,Jeg får oprettet et tilfældigt ID som skal sættes i en database. Hvis ID'et allerede eksisterer i data så skal den generere et nyt ID. Men problemet er at jeg laver det med if sætninger og det bliver for kludret.
F.eks.
$id = '500';
// Check
$checkQuery = mysql_query("SELECT * FROM tables WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($checkQuery) > 0){
$id = rand(1,1000);
}
// Check
$checkQuery = mysql_query("SELECT * FROM tables WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($checkQuery) > 0){
$id = rand(1,1000);
}
// Check
$checkQuery = mysql_query("SELECT * FROM tables WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($checkQuery) > 0){
$id = rand(1,1000);
}
// Check
$checkQuery = mysql_query("SELECT * FROM tables WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($checkQuery) > 0){
$id = rand(1,1000);
}
// Check
$checkQuery = mysql_query("SELECT * FROM tables WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($checkQuery) > 0){
$id = rand(1,1000);
}
Problemet med ovenstående er at den så kun checker x antal gange jeg checker om den eksistere eller ej. Hvordan kan jeg lave et loop hvor den checker om ID eksistere, og hvis den eksistere så bliver den ved med at checke og lave nyt ID til den har fundet et der er ledigt?
Lyder måske lidt sært, men skal bruge det til at generere et random ID for bestillinger og sørge for ikke at fjerne nogle eksisterende.
På forhånd tak :o)