Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyzwalacz - historia zmian (update)
Forum PHP.pl > Forum > Bazy danych > MySQL
jezzo
cześć,
mam drobny kłopot z napisaniem triggera tworzącego historiię zmian na tabelce.

W jaki sposób stworzyć takiego triggera, przechowującego na całą historię zmian haseł.

i tak wersja tought : dla tabelki user (user_id, user_name_user_pass, user_status)

strukturka analogiczna czyli user_hist(hist_id, user_id, user_name, user_pass, user_status, dttm)

oraz wersja nightmare : dla tabelki user(user_id, user_name_user_pass, user_status)

tabelka historyczna history(hist_id, table, column, id, old_value, new_value, dttm)

ta wersja miałaby być uniwersalna czyli dla każdej zmienionej krotki zapisywać historię.

czy ta druga wersja jest wykonalna ?

pozdrawiam,
Tomek
Indeo
Chyba nie zrozumiałem w czym problem smile.gif Ale ... tabela historyczna to taka sama tabela jak oryginał ale z dodatkową kolumną pełniącą rolę "osi czasu". Może to być id(autoincrement) albo timestamp (warto wiedzieć kiedy zaszła modyfikacja). Po prostu podczas zmiany na tabeli userów zrzucam poprzednią wartość do tabeli historycznej z dopisaniem bieżącej daty w dodatkowej kolumnie. Czasem zapisuję jeszcze dodatkowe informacje jak np. autor zmiany (niekoniecznie musi to być dany użytkownik) . Triggery to świetne narzędzie w śledzeniu zmian.
jezzo
myślę, że udało ci się przebrnąć przez tego posta ze 100% zrozumieniem.

Problem w tym, że nie wiem jak utworzyć taki wyzwalacz.
Mógłbyś wkleić przykładowy kod questionmark.gif

Z góry dzięki

spoko już znalazłem jakies podstawy więc poszło biggrin.gif

http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
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.