On Fri, Jul 17, 2009 at 11:12:43AM -0400, Jason Pruim wrote: > Hi everyone! > > So some of you may have noticed that I have been away for quite > awhile... Been trying to get settled (Moved across the country) and > getting a job. > > And now that that is done I have a question about a project that I > might be doing for my current employer and want to do it properly. > > If all goes through, I'll be writing an online database that upwards > of 10 people will be using at various times through out the day. > Basically, in a form they fill out a model number, customer name, > phone number etc. etc.. And then submit the form. After submitting > they need to write the log number on some paperwork. If I have 2 > people submit the form at the same time, I'm thinking I could end up > with a race condition and they might get the wrong log number (The log > number is simply a consecutive record number) > > Do I need to be reading up on locking tables/rows? Or in my situation > as I've briefly described it do I not have to worry about it? Or is > there a third door with the magic bullet that will solve all my > problems? :) The database engine should take care of this for you. You left out some details, so I'll make some assumptions. And I can only speak for PostgreSQL, since I don't work that much with MySQL. When using sequences in PostgreSQL, you can use the currval() function to grab the last id number for the last record you added in this session. Someone else running currval() will get the id number for the last record they entered in their current session. No race condition possible. In all this, I assume you just added a record and you want to get the ID of that record. If you added a record yesterday, that's a different story, but should not allow race conditions. A good database engine should protect you in this area. Paul -- Paul M. Foster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php