Witam,
zaistniała u mnie taka sytuacja.. Jakiś czas temu założyłem trigger na tabeli uzytkownicy (CREATE TRIGGER updateClub AFTER UPDATE ON uzytkownicy) który miał automatycznie reagować na wprowadzone zmiany i te dane uaktualnić w tabeli zawodnicy..
OK, wszystko do tego momentu grało..., ale teraz próbując wykonać zwykłe polecenie UPDATE na tabeli uzytkownicy:
UPDATE uzytkownicy SET admin = 0 WHERE idUzytkownika = 15
otrzymuje błąd typu:
Can't update table 'uzytkownicy' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Z tego co dyczytałem, to nie można wykontać takiej operacji bo jest założona blokada przez trigger... Co mogę w takim wypadku zrobić? Przytoczone powyżej polecenie UPDATE ma za zadanie niejako usuwać administratora z aplikacji.. (więc taka funkcjonalność jest mi potrzebna..).
Pewnie został popełniony błąd gdzieś w trakcie projektowania całej bazy danych, no ale teraz to juz trochę za późno na większe poprawki.. (bo jutro pokazuje to na zaliczenie i chce uniknąć tylko sytuacji typu - "niedziałającej funkcji / wykrzaczenia aplikacji").
Czekam na sugestie :)
PS. Doczytałem, że czasami w takich sytuacja pomaga zamiana funkcji triggera z AFTER na BEFORE jednak to u mnie nic nie dało.. Dopiero po usunięciu triggera mogę zrobić update..