SalamanaMedlem sedan mars 2005158 inlägg Om man gör en insert där man sparar ner lankNamn, menyID2, typ samt id vilket är en räknare i databasen.
Finns det då ngt bra sätt att hämta upp det id som den posten man precis skapade fick...direkt efter insert
vill jag göra en select eller dyligt för att hämta det id. I nuläget gemför jag bara de olka värdena mot databasen
och plockar på så sätt ut id...men måste ha ngt säkrare sätt
Kör ASP mot MySql !
sql = "insert into tbl_meny3 (lankNamn, menyID2, typ) Values('"&lankNamn&"', '"&request.querystring("menyID2")&"', "&typ&");"
set rs = conn.execute(sql)
sql2 = "Select menyID3 From tbl_meny3 Where lankNamn = '"&lankNamn&"' And menyID2 = '"&request.querystring("menyID2")&"' And typ = "&typ&";"
set rs2 = conn.execute(sql2)
SalamanaMedlem sedan mars 2005158 inlägg Men finns det ngt i databasen/Asp som håller koll på ngn typ av kö-lista annars kan någon annan hinna före och då får jag inte korrekt id.
@ndersMedlem sedan juni 200032 969 inlägg Du får ut korrekt id, det är INTE samma sak som att hämta ut det högsta ID:t med MAX.
SalamanaMedlem sedan mars 2005158 inlägg Så även om det hinner fem personer imellan så får jag ut id på just den post jag skapade. Hmm ...låter ju kanon.
@ndersMedlem sedan juni 200032 969 inlägg Jo. Här kan du läsa om last_insert_id.
The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_INCREMENT value generated for most recent statement affecting an AUTO_INCREMENT column by that client.
SalamanaMedlem sedan mars 2005158 inlägg En får tacka för hjälpen... Underlättar en hel del för mig!
SalamanaMedlem sedan mars 2005158 inlägg Om min post i databasen som är en räknare heter "menyID3".
Och jag vill ha ut just det id.
Jag skviver följande:
sql2 = "select last_insert_id() From tbl_meny3;"
set rs2 = conn.execute(sql2)
Känner den av vilket som e en räknare och vilket id den ska hämta eller måste man speca det i frågan??
Hur ger jag en variabel värdet jag får ut??
@ndersMedlem sedan juni 200032 969 inlägg Ja, MySQL vet vad som är rätt fält att hämta räknarvärde ur.
Antingen ger du alias i SQL-frågan, eller så anger du index i din ASP-kod.
sql2 = "select last_insert_id() AS foo From tbl_meny3;"
set rs2 = conn.execute(sql2)
lID = rs2("foo")
sql2 = "select last_insert_id() From tbl_meny3;"
set rs2 = conn.execute(sql2)
lID = rs2(0)