Frågan 26 sep. 2002 23:01 #1 När man kör en INSERT INTO mot en MySQL databas, går det då att få reda på det ID som skapades för den posten på något smidigt sätt? Har för mig att jag har sett det någon stans..
Typ att den man returnerar den post man precis skapat eller något liknande..
/MJ
L LarsG Medlem sedan dec. 2000 12 464 inlägg set rs = connect.execute( "select last_insert_id")
id = rs(0)
Men den kan inte var så pålitlig väl.. någon skulle ju kunna skapa en post innan jag kör min:
set rs = connect.execute( "select last_insert_id")
vilket skulle leda till att jag får fel ID nummer.. eller har jag fel?
Går det inte att returnera då jag INSERTAR på något vis?
/MJ
L LarsG Medlem sedan dec. 2000 12 464 inlägg Detta är den enda metod som är pålitlig. trust me.
Pace Medlem sedan juni 2001 9 024 inlägg Det är det som @@identity och Last_insert_id är till för, så att man får den aktuella transkationens ID, inte någon annans.
Man kan få ut det samtidigt som insert, men inte med MySQL.
Försöker med della:
set objRs = objCon.Execute("SELECT last_insert_id")
intAcountId = objRs(0)
Men det vill sig inte riktigt... nått fel?
/MJ
P Palleman Medlem sedan dec. 2000 557 inlägg Ska inte tabellen med också i sql-satsen?
set objRs = objCon.Execute("SELECT last_insert_id() FROM tblTable")
intAcountId = objRs(0)
Tackar.. detta verkar funka.. :)