webForumDet fria alternativet

kan man se vilket id en insert fick på något pålitligt sätt?

Databaser & SQL

8 svar · 365 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Finns det något alternativ till att göra en insert och sedan fråga efter max id för att få reda på vilket id den fick?

Max id kan väl teoretiskt sätt bli fel om det är många inserts samtidigt?!

:OO

Medlem sedan juni 200032 967 inlägg
#2

Ja, men i vanlig ordning beror det på vilken dbms man använder.

Ganska nylig tråd om @@identity.

mvh

Medlem sedan juni 20006 031 inlägg
#3

För mysql har du ju mysql_insert_id
http://se.php.net/manual/sv/function.mysql-insert-id.php

Medlem sedan maj 20012 080 inlägg
#4

Access 2003. Det var @@identity som jag hade sett någonstans.

Lästa @nders länk men förstår inte riktigt syntaxen?

  1. INSERT ....
  2. SELECT @@IDENTITY as (inserted_id) FROM T_tablename

?? eller ? ¿

Medlem sedan juni 200032 967 inlägg
#5

Det räcker fint med bara SELECT @@IDENTITY direkt efter din INSERT.

Medlem sedan maj 20012 080 inlägg
#6

Hur får jag ut värdet då?
Skapar jag en recordset ?

Förvirrad. he he...

Medlem sedan juni 200032 967 inlägg
#7

Det är som vilken SELECT-fråga som helst, så ett recordset kan ju passa bra. ;)

Medlem sedan maj 20012 080 inlägg
#8

Börjar nog bli dags att pasta kod....

'	sql_question = "SELECT MAX(id) as max_id FROM T_temp"
	sql_question = "SELECT @@IDENTITY"
	response.write "<hr><b>Hämtar max id från T_temp:</b> " &sql_question &"<hr>"
	set rsTemp = connect.execute(sql_question)
	' Sparar id nummret
	session("selected_temp_id") = rsTemp("?????????????")
	%>
Medlem sedan dec. 200012 464 inlägg
#9
<%
sql_question = "SELECT @@IDENTITY"
response.write "<hr><b>Hämtar id från T_temp:</b> " &sql_question &"<hr>"
set rsTemp = connect.execute(sql_question)
' Sparar id nummret
session("selected_temp_id") = rsTemp(0)
%>
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)