Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger - jak wykonac - dla MyBB.
calif
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 24.08.2009

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


Witam!

Potrzebuję Trigger'a (chyba tak to się nazywa), który robiłby taką coś:

Gdy ktoś rejestruje się na forum MyBB - czyli zostaje dodany rekord do tabeli mybb_users, trigger reaguje i dopisuje tego samego użytkownika (rekord) do innej tabeli.

Tak, abym mógł zainstalować większą ilość for na jednej bazie danych, aby na wszystkich forach byli Ci sami użytkownicy.

Przypuśćmy jedna tabela z ludźmi to: mybb_users, a druga to mybb1_users, kolejna mybb2_users itp. itd.

Jak to zrobić?

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





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


@cojack - nie
Jeśli założysz te wyzwalacze na każdą modyfikowaną tabelę to gwarantuje ci że każde zapytanie na nich zwróci ci błąd. Choćby dlatego że procedura będzie próbowała zmodyfikować tabelę na której został postawiony wyzwalacz. Z kolei modyfikowanie każdego wyzwalacza osobno by modyfikował wszystkie sąsiednie tabele jest trochę bez sensu.

Trochę sobie to przetestowałem i wyszło mi że najwygodniejszym rozwiązaniem będzie łańcuchowanie zdarzeń - czyli dla 3 tabel - modyfikacja np. tabeli 2 wyzwala akcję na tabeli 3, tabela 3 na 1 - 1 sprawdza że rekord istnieje na 2, więc łańcuch się kończy. Każdy insert,update,delete jest propagowany na sąsiednie tabele dzięki czemu powinny one zachować spójność. Dla większej ilości tabel triggery można generować np. za pomocą PHPa. Pozostaje pytanie o wydajność takiego rozwiązania.

Przykładowe wyzwalacze na insert dla 3 tabel - tu.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 21:05