Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Start transaction przy zmianie wielu pól w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
movax13h
Piszę system w php, który od czasu do czasu będzie zmieniał klucz, którym szyfrowane są dane w tabelach.

W momencie zmiany klucza system powinien odczytać wszystkie dane i spowrotem je zaszyfrować.

To już działa ale bez żadnego zabezpieczenia, na wypadek awarii serwera. Zastanawiam się czy zamiast pisać obliczanie sumy kontrolnej przed i po można skorzystać z transakcji. Nigdy wcześniej z nich nie korzystałem.

Procedury do przeszyfrowania bazy działają na kilku kwerendach -danych może być kilka tysięcy rekordów

Mam pytanie: czy można za pomocą kilku kwerend korzystać z transakcji? (nie pisać wszystkiego za jednym razem)
Czy mySql to zapamięta i na wypadek awarii przywróci dane?

i wogóle jak to mniej więcej napisać w sql? smile.gif
Mchl
Można bo do tego transakcje służą.
Albo wykonają się wszystkie zapytania, albo serwer jest cofany do stanu przed transakcją.

Warunkiem jest użycie silnika InnoDB, oraz unikanie niektórych zapytań, któe powodują automatyczne zakończenie transakcji (w zasadzie chodzi o DDL).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.