Hi Burn, Wednesday, June 6, 2007, 3:55:21 PM, you wrote: > Here's how I do it, for 1 single table though.. you'll have to write > yourself the mod to check on more tables. If you plan to have > 10 > millions records make sure the maxrand is higher. > When the "do" loop exits you have a unique id. > function generateID() { > $minrand = 1; > $maxrand = 99999999; > $uniqueid[0] = mt_rand($minrand, $maxrand); > $uniqueid[1] = $uniqueid[0]; > return $uniqueid[1]; > } > > do { > //New ID generation > $newid = generateID(); > //Database check > $sqlcheck = "SELECT youruniqueidhere FROM yourtablehere WHERE > youruniqueidhere = '".$newid."'"; > $conn = mysql_connect($db_host, $db_username, $db_password); > mysql_select_db($db_name, $conn); > > $rs = mysql_query($sqlcheck, $conn); > $rscount = mysql_num_rows($rs); > } while ($rscount != 0); Not that it is likely to occur on a low-traffic site, but the above approach is a race condition waiting to happen I'm afraid. It will however almost certainly satisfy the needs of the OP as long as his site stays off digg / slashdot :) Cheers, Rich -- Zend Certified Engineer http://www.corephp.co.uk "Never trust a computer you can't throw out of a window" -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php