Of course, but there is nothing stopping you from having both is there?

You can have an autonumber id that is your primary key if you like,
then have a uuid field that is also a key.  As long as it is unique,
you can use the two interchangably.

Or, if you want a friendly order number, why not manufacture the order
number, where you have information in there about maybe the date the
order was taken and any other information.

Lots of ways to skin this cat.

On 1/8/06, Baz <[EMAIL PROTECTED]> wrote:
> Using UUIDs does seem good but they are quite unfriendly. For example lets
> say you have ORDERS... It's much easier to tell your colleague to look into
> OrderID: 155000 rather than OrderID: hagfhdvklchjcvadj...
>
>
>
> -----Original Message-----
> From: Bobby Hartsfield [mailto:[EMAIL PROTECTED]
> Sent: Sunday, January 08, 2006 10:32 PM
> To: CF-Talk
> Subject: RE: Get last inserted ID
>
> This should insert your record and return the new primary key as 'newid'
>
> <cfquery NAME='myqry'>
> Insert into address (city) Values (<cfqueryparam value="#City#"
> cfsqltype="cf_sql_integer" />); Select LAST_INSERT_ID() as newid;
> </cfquery>
>
> Primary keys that you control would probably be the better solution though.
> CF generated UUID's sound like a great solution.
>
> <cfset mynewid = createuuid()>
>
> <cfquery...>
> Insert into address
> (id, city)
> Values
> (#mynewid#, #city#)
> </cfquery>
>
> So you always know what the new records ID is...
>
> It not only keeps you from having to worry about the ids getting crossed
> when you use max() and 2 or more people insert something at the same time.
> (or worrying about transactions to stop that from happening)
>
> AND... if the data gets moved to another datasource down the road... all the
> relations can be maintained since the IDs aren't autoincrements. That alone
> is enough to use your own defined IDs over autoincrementing ones.
>
> ...:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.
> Bobby Hartsfield
> http://acoderslife.com
>
>
> -----Original Message-----
> From: Baz [mailto:[EMAIL PROTECTED]
> Sent: Sunday, January 08, 2006 7:24 PM
> To: CF-Talk
> Subject: Get last inserted ID
>
> Is this the best way to do this:
>
> <cftransaction>
>   <cfquery name="InsertAddress" datasource="#DSN#">
>     INSERT INTO Address (City)
>     VALUES (<cfqueryparam value="#City#" cfsqltype="cf_sql_integer" />)
>   </cfquery>
>
>   <cfquery name="getInsertedID" datasource="#DSN#">
>     SELECT MAX(AddressID) as MaxID
>     FROM Address
>   </cfquery>
> </cftransaction>
>
> I'm using MySQL.
>
> Cheers,
> Baz
>
>
>
>
>
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:228818
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to