Mysql

P: MySQL w wersji <4 nie ma transakcji. Jak mogę symulować ich działanie ?

Można ręcznie blokować tabele w bazie danych poprzez LOCK TABLE Document Id WRITE a odblokować poprzez: UNLOCK TABLES. Trzeba uważać przy stałych procesach (np. FASTCGI) i prawidłowo obsługiwać wyjątki inaczej może niezamknięte połączenie skutecznie zablokować tabelę w bazie jeśli nie obsłużymy wyjątku rzuconego po zablokowaniu tabli!

(...) Nie ma bowiem łatwych odpowiedzi. Nie istnieje nic takiego jak najlepsze rozwiązanie - zarówno jeśli chodzi o narzędzia, jak i języki czy systemy operacyjne. Są jedynie systemy, które mogą być bardziej odpowiednie w konkretnych okolicznościach.

I tu właśnie do gry wchodzi pragmatyzm. Nie należy przywiązywać się do żadnej określonej metody, ale mieć na tyle rozległą wiedzę i doświadczenie, by w danej sytuacji wybrać dobre rozwiązanie. (...)

Andrew Hunt, David Thomas "Pragmatyczny Programista"