Freelancers Network
 
skill list top cap
Homepage
Join the Freelancer's Network
Update your details
Find a freelancer
Post a project
Find a project
Projects Archive
Post a job
Find a job
Jobs Archive
See Dan's Pages
See Andy's Pages
Link to this site
Resources
Join/Leave Forum
Forum Messages
+Additions+ Adverts
Advertising
Contact Us
Subscribe to our newsletter - enter your email address and hit return
Freelancers.net is owned and operated by Andy Stowell and Dan Winchester
skill list end cap
guru web hostcom

Find me again on Freelancers.net

RE: FN-FORUM: asp/sql - the correct way to get the ID of the record you just added?

date posted 9th January 2007 11:33

[EMAIL REMOVED] wrote:
> This isnt something I'm doing now, but its something I've
> often wondered if I do the right way, I'm fairly sure I dont.
>
> Imagine you have a membership database, a user signs up and
> you add their info to your table which automatically assigns
> an ID to the record. You then need to add records to a
> 'link' table to associate (for example) the user with a
> particular mailing list/s. To do that you need the ID of the
> record you just added for the user.
>
> In the past I've just done a select statement to pull out the
> highest ID number based on the assumtion that the highest ID
> will be the last record added - however if, on the rare
> occasion this might happen, another user signs up at the same time
> that ID will be wrong.
>
> Whats the correct way of doing it? is there one?

Depends on database. PostGreSQL and Oracle have ways of pre-reserving an id
before insert. MySQL has

SELECT LAST_INSERT_ID()

MS SQL Server has

SELECT IDENT_CURRENT - returns the last identity value generated for a
specific table in any session and any scope.
SELECT @@IDENTITY - returns the last identity value generated for any table
in the current session, across all scopes.
SELECT SCOPE_IDENTITY - returns the last identity value generated for any
table in the current session and the current scope.

depending on how you are using it. MS Access (not going to start a flame
war by describing it) has no direct way afaik, so then yes you are stuck
with highest id or making it unique on other fields. Don't use accesss much
so may be out of date there.

HTH,

Dai




--
TechnologyAngel
http://www.technologyangel.co.uk/




Messages by Day
January 31st 2007
January 30th 2007
January 29th 2007
January 28th 2007
January 27th 2007
January 26th 2007
January 25th 2007
January 24th 2007
January 23rd 2007
January 22nd 2007
January 21st 2007
January 20th 2007
January 19th 2007
January 18th 2007
January 17th 2007
January 16th 2007
January 15th 2007
January 14th 2007
January 13th 2007
January 12th 2007
January 11th 2007
January 10th 2007
January 9th 2007
January 8th 2007
January 7th 2007
January 6th 2007
January 5th 2007
January 4th 2007
January 3rd 2007
January 2nd 2007
January 1st 2007


Messages by Month
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007


Messages by Year
2008
2007
2006
2005
2004
2003
2002
2001
2000