Yes I believe that is what Richard was saying about "Trap the INSERT error", you should get an error back from the database about having a problem with the insert instead of showing that error you will want to add some logic that when that error occurs you simply generate another number. On 10/11/05, aaronjw@xxxxxxxxxxxxx <aaronjw@xxxxxxxxxxxxx> wrote: > Hi Richard, > > Ok... I do already have a Unique index on the column but this process is > something that I cannot echo out the error code to the user. The code is > generated on the fly when an order an is placed so you can see... I can't > echo out the error to the customer. > > Can I do an if statement IF an error is returned to try generatre another > randon code and keep going until one is available? I can do this all > intenrally without the customer knowing/seeing anything? > > Hope I am making some sense. Not trying to confuse the issue. > > Thanks. Appreciate your thoughts. > > Aaron > > > On Mon, October 10, 2005 3:24 pm, Dan McCullough wrote: > >> create a function to check if the rndnumber=couponcode row count = 0 > >> if not then redo rndnumber if it does = 0 then insert rndnumber > > > > Noooooooooooooooooooooooooooo! > > > > You are creating a RACE CONDITION in which ONE user might generate a > > 'valid' code, and ANOTHER user might generate a 'valid' code AT THE > > SAME TIME, and then they BOTH get the same coupon code. > > > > The probability of this is very very very low, but still NOT zero. > > > > And it's the kind of thing that won't show up in testing, but sure as > > God made little green apples, it WILL happen at the worst possible > > time after you "go live" > > > > The database engine has a *TON* of code in it to avoid this kind of > > Bad Thing happening. > > > > Use it. > > > > create a UNIQUE INDEX on the column that needs to be unique. > > > > Trap the INSERT error. > > > > -- > > Like Music? > > http://l-i-e.com/artists.htm > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php