[ zgas @ 21.10.2008. 12:43 ] @
| Imam problem.
Zapocinjem transakciju pre upisa podataka u bazu.
Zatim izvrsim jedan upis podataka, pa
drugi upis podataka.
Zatim u php skriptu uporedjujem podatke koje sam tek upisao u bazu tako sto pokusam da ih procitam iz baze. (ovde se mozda desi problem)
...
Zavrsim transakciju.
Da li je moguce procitati podatke iz baze pre nego je zavrsena transakcija ako sam te podatke upisao u bazu u toku transakcije???
(koristim mysql5 i php5.2)
|
[ zgas @ 21.10.2008. 12:50 ] @
Testirao sam i moguce je.
[ agvozden @ 21.10.2008. 15:05 ] @
Da li si siguran da si procitao podatke iz baze?
[ ColdKeyboard @ 21.10.2008. 15:29 ] @
Naravno da je moguce, ne vidim zasto ne bi mogao da uradis ovako nesto... ?
[ VladaSu @ 06.12.2008. 17:01 ] @
Moguce je da procitas. Ti podaci su u bazi i ostaju u bazi samo sto nisu vidljivi van transakcije sve do commita.
Mislim da su u bazi i posle rollback ili ako ne odradis commit samo sto nisu vidljivi.
Pre pozivanja transakcija moras staviti SET AUTOCOMMIT=0; kako bi bio siguran da mozes da odradis rollback jer ako je ovo na 1 onda transkacije ti i ne vrede.
I umesto provere tako sto ces pozivati neki sql i uporedjivati podakte mozes da koristis affected rows ili last insert id. Mnogo brze i jednostavnije.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.