Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyzwalacz - historia zmian (update), dla jednej lub wielu tabel
jezzo
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Indeo
post
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.
Go to the top of the page
+Quote Post
jezzo
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:15