Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Triggery
jan3k
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.12.2010

Ostrzeżenie: (0%)
-----


Witam mam pytanko

Ze względu ze jestem początkujący postaram sie opisać swoje pytanie dość jasno.
Chciałbym aby wszystkie zmiany które zachodzą w mojej bazie danych były rejestrowane do nowej tabeli. Informacje o tych zmianach sa zapisane w tabeli gdzie uzupełniają sie pola kto zmienił kiedy i co zrobił (usunął, zmodyfikował). Wiem ze w tym celu potrzebny mi jest nowa tabela pytanie z jakimi polami i jakie powinny miec atrybuty oraz triggery które będą to rejestrować. Czy może ktoś pomóc w napisaniu takiego czegoś (IMG:style_emoticons/default/questionmark.gif)


Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Smertius
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 31
Dołączył: 23.02.2009
Skąd: Sanok

Ostrzeżenie: (0%)
-----


Do takiego rozwiązania nie wystarczy ci jedna tabela, do każdej tabli musisz utworzyć tabelę która będzie zawierała log zmian w danej tabeli(tzn. nie musisz (IMG:style_emoticons/default/winksmiley.jpg) ale tak będzie najbardziej czytelnie). Poniżej masz przykładowy trigger który robi kopię danych wtedy kiedy wykonywany jest UPDATE na danym rekordzie.


  1. CREATE TRIGGER `storage_log` BEFORE UPDATE ON `storage`
  2. FOR EACH ROW BEGIN
  3. INSERT INTO storage_log SET storage_log.storage_id=old.storage_id, storage_log.storage_quantity_new=new.storage_quantity, storage_log.storage_quantity_old=old.storage_quantity;
  4. END
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 21:20