31. juli 2005 - 13:06Der er
12 kommentarer og 1 løsning
Id'et for det som lige er sat ind
Hey,
Jeg har to insert strenge, hvor der i den første bliver indsat en bruger. Den anden SQL streng skal så bruge ID'et for den bruger som netop er blive indsat.
> Is there a way to return a field value from an insert query? Instead > of (1) inserting a new record and then (2) a select to get the match > of the new record and get the row id from the query (auto increment, > primary key), is there a way I can INSERT the new record and get mysql > to tell me the row_id value without querying a second time?
softspots @@IDENTITY virker med Access og SQLServer
booties LAST_INSERT_ID() er til MySQL
begge er på connection d.v.s. at hvis man som man ofte gør opretter en connection og laver en eller flere SQL sætninger på den i sin ASP side, så er der ikke noget problem med flere samtidige brugere
set conn = Server.CreateObject("ADODB.Connection") conn.open strDSN conn.Execute(FørsteInsertHer) set rs = conn.Execute("SELECT @@IDENTITY AS LastId") if not rs.eof then newID = rs("LastId") conn.Execute(AndenInsertDerBrugerIdFraDenFørsteHer) end if conn.close set conn = nothing
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.