But can't you put a <cflock /> around the query that inserts the record and retrieves the last ID?
On Mon, Mar 24, 2008 at 8:59 AM, Mark Fuqua <[EMAIL PROTECTED]> wrote: > What if you have four concurrent users (or four hundred if your app get > popular!), what happens if user two gets user three's id when she runs > LAST_INSERT_ID()? > > That's the one of the only reasons I can see for using alternate keys. > Whether it is a UUID created in Coldfusion or someother unique value...you > KNOW what it is...everytime, because you set it, not the DB. > > Mark > > > > > -----Original Message----- > From: Rick Faircloth [mailto:[EMAIL PROTECTED] > > > Sent: Monday, March 24, 2008 8:22 AM > To: CF-Talk > Subject: RE: Any "Gotcha's" in using CF UUID for db record primary key? > > What's the reason for using the db instead of CF to > generate the UUID? To keep the load off CF? > > I was thinking I might use CF in the following manner to generate > a UUID for a record: > > - Create UUID and variable to hold UUID via CF and cfset > - User completes form with textual information and photo selection via > cffile > - Run insert query to create primary textual record, including inserting > UUID > - Run second insert query to create records in photo table for each > cffile field mentioned above, inserting UUID for relational key to textual > information > > After doing some reading in the MySQL 5 docs, it looks like I could use the > LAST_INSERT_ID() function to return the auto-incrementing primary key of the > "main" > textual record of a property (Real Estate property), then run an insert > query for the > photo records on another table, using the LAST_INSERT_ID() as the relational > key to the > primary property table. > > - User completes form with primary record info and selects photos > - Insert query runs creating primary property record > - Run another query to retrieve LAST_INSERT_ID() (or just use that value as > a variable, > #LAST_INSERT_ID()# ???) > - Run another query to insert photos into photo table using LAST_INSERT_ID > as relational key > > Using LAST_INSERT_ID(), it seems that I could allow a single input form for > two tables, > property and property_photos, create a more user-friendly work flow, and > avoid the > "messiness" of UUID altogether. > > Thoughts? > > Rick > > > > -----Original Message----- > > From: Dave Watts [mailto:[EMAIL PROTECTED] > > Sent: Sunday, March 23, 2008 11:48 PM > > To: CF-Talk > > Subject: RE: Any "Gotcha's" in using CF UUID for db record primary key? > > > > > At the same time I kind of DON'T agree with them if you're > > > doing what we were doing: if you're using the key to link > > > tables (so that you can combine multiple databases easily) > > > and using them to link to non-DB information (log files, etc) > > > then it seems like extra work to do a "real" auto-increment > > > PK as well. > > > > I'll second this. Either use UUIDs or don't. In either case, I'd recommend > > that you use your database's ability to generate these instead of doing it > > from CF. > > > > Dave Watts, CTO, Fig Leaf Software > > http://www.figleaf.com/ > > > > Fig Leaf Training: Adobe/Google/Paperthin Certified Partners > > http://training.figleaf.com/ > > > > WebManiacs 2008: the ultimate conference for CF/Flex/AIR developers! > > http://www.webmaniacsconference.com/ > > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:301906 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

