![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie zrozumiałem w czym problem (IMG:http://forum.php.pl/style_emoticons/default/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.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Z góry dzięki spoko już znalazłem jakies podstawy więc poszło (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:15 |