webForumDet fria alternativet

Transaction typ...

3 svar · 178 visningar · startad av Andreas L

Andreas LMedlem sedan sep. 2000215 inlägg
#1

Hej!

Jag kör mySQL3.23 och har tre sql-UPDATE som skall köras efter varandra och alla måste lyckas.
Jag behöver alltså använda någon typ av transaction.

Jag har inte tidigare gjort något liknande men har läst mig till att det finns lite olika metoder. Kan dock inte komma igång själv.

Jag använder ju ASP och undrar om någon kan visa ett sctipexempel (enklast möjliga) där jag kan se hur man går till väga?

Behövs någon speciell servertyp(mts),eller liknande?

Ett scriptexempel vore det enklaste och jag hoppas att någon vill hjälpa mig!

Alltså: 3 tabeller och alla uppdateringar måste lyckas. Om inte så skall inget förändras följt av ett felmeddelande!

Tack på förhand!

------------------
"Life's a bitch who sucks... then you marry one who doesn't"

LarsGMedlem sedan dec. 200012 464 inlägg
#2
ok = true
connect.begintrans
on error resume next
connect.execute "update t1"
if err.number> 0 then
   ok = false
end if
if ok then
connect.execute "update t2"
if err.number> 0 then
   ok = false
end if
end if
if ok then
connect.execute "update t3"
if err.number > 0 then
   ok = false
end if
if ok then 
   connect.committrans
else
   connect.rollbacktrans
   response.write "felmeddelande"
end if

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthbegintrans.asp

Det är möjligt att du måste titta på olika ADOfel och utifrån typ av fel bedöma om du kan fortsätta med transaktionen.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcolerrors.asp

Mts, behöver du inte blanda in

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 14 dec 2001]

Andreas LMedlem sedan sep. 2000215 inlägg
#3

Tack Lars!

Jag skall genast sätta igång och kolla på det! Det ser ju oerhört enkelt ut så jag kommer antagligen tillbaka med fler frågor... ;)

Jag trodde inte att det fungerade på MySql?!

------------------
"Life's a bitch who sucks... then you marry one who doesn't"

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Stödet för transaktionshantering kom ganska nyligen i Mysql. Jag har inte koll på i vilken version det var och om det finns i 3.23. Du kanske behöver byta till 3.24

------------------
essentitia preter non sans multiplicandum

132 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)