Det finns en funktion som heter LAST_INSERT_ID som du kan anropa
set rs = ObjConn.execute("select last_insert_id()")
(I och för sig så har jag för mig att jag sett någonstans att Mysql skulle ha stöd för select @@identity i senaste versionen.)
22 svar · 349 visningar · startad av icaaq
jag har dennna:
strSQL1 ="INSERT INTO T_REGTID(F_USER_ID, F_REGTID_START)VALUES("&ObjRS("F_USER_ID")&", '"&Now()&"')"
ObjConn.execute(strSQL1)
Session("MMID") = ObjRS("F_USER_ID")
[b]set rs = ObjConn.execute("select @@identity")[/b]
Session("LoggatID") = rs(0)
Set ObjRS = Nothing
Objconn.close
Set Objconn = Nothing
som jag nu ska anpassa till mySQL men hur gör jag då???
det fel jag får är:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
[TCX][MyODBC]You have an error in your SQL syntax near '@identity' at line 1
/icaaq/defaultt.asp, line 220
hur ska jag göra??
Det finns en funktion som heter LAST_INSERT_ID som du kan anropa
set rs = ObjConn.execute("select last_insert_id()")
(I och för sig så har jag för mig att jag sett någonstans att Mysql skulle ha stöd för select @@identity i senaste versionen.)
jag kom en rad till innan jag stätte på nästa problem:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80020009)
[Microsoft][ODBC Driver Manager] Driver does not support this parameter
/icaaq/defaultt.asp, line 221
strSQL1 ="INSERT INTO T_REGTID(F_USER_ID, F_REGTID_START)VALUES("&ObjRS("F_USER_ID")&", '"&Now()&"')"
ObjConn.execute(strSQL1)
Session("MMID") = ObjRS("F_USER_ID")
set rs = ObjConn.execute("select last_insert_id()")
[b]Session("LoggatID") = rs(0)[/b]
Set ObjRS = Nothing
Objconn.close
Set Objconn = Nothing
Stöder inte mySQL rs(0) ??
/r. för mycket klippa och klistra
Tydligen inte. (I och för så är det nog MyODBC det ligger i.)
set rs = ObjConn.execute("select last_insert_id()" as lastID)
Session("LoggatID") = rs("lastID")
nja.....
Error Type:
Microsoft VBScript compilation (0x800A03EE)
Expected ')'
/icaaq/defaultt.asp, line 220, column 51
set rs = ObjConn.execute("select last_insert_id()" as lastID)
.....hmm...
Klipp och klistra
set rs = ObjConn.execute("select last_insert_id() as lastID")
Session("LoggatID") = rs("lastID")
Jag gjorde också så men då blir det:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80020009)
[Microsoft][ODBC Driver Manager] Driver does not support this parameter
/icaaq/defaultt.asp, line 221
Är det nått fel på min ODBC eller vad är det frågan om ??
Jag vet inte alls varför det blir så.
Om du testar detta då?
set rs = server.createobject("adodb.recordset")
rs.open "select last_insert_id() as lastID",ObjConn
Session("LoggatID") = rs("lastID")
rs.close
kan det vara nått fel på min insert-sats, jag tycker inte det iaf
Testa med att lägga till en "option=16384" i anslutningssträngen.
VAd gör en sån ??
Kolla här: http://www.mysql.com/documentation/mysql/bychapter/manual_Clients.html#ODBC_administrator
Jag gjorde så här:
Conn.Open "Driver={MySQL};Server=localhost;Db=test;UID=root;pwd=password;option=16384"
och då funkade det med last_insert_id()
(Fråga mig inte varför bara....)
ska testa när jag kommer hem, tack
Jag sitter och funderar på jobbet....men måste jag sätta nå rättigheter eller dylikt på databas mappen??
jag kör under win 2k pro
Jag har inte läst inlägget direkt men kan testa att ta bort nycklordet AS
rs.open "select last_insert_id() lastID",ObjConn
tack så hemskt mycket Boma, nu funkar det
Nästa:
SELECT U.F_USER_Namn, U.F_USER_Bild, U.F_USER_Rattigheter, R.F_REGTID_START FROM T_Users AS U, T_RegTid AS R WHERE U.F_USER_ID=" & strMMID & " AND R.F_USER_ID = U.F_USER_ID ORDER BY ID DESC
denna funkar inte i mySQL hur ska den se ut för att den ska funka
Hej!
Jag har inte heller lyckats använda suffix för tabeller i SQL-frågor i mysql. Du får skriva tabell.field istället.
mvh Jörgen
Nu körde jag frågan i Front-mySQL och det fungerade...
ska testa lite till, om jag inte får det att fungera testar jag ditt förslag jorgen