Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Trigger pobierający dane z tej samej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
phpion
Witam po dłuższej przerwie.

Mam pewien problem, może ktoś będzie w stanie coś doradzić. Mam triggera na tabeli X postawionego AFTER UPDATE. Czasami (bo nie zawsze, nie ma reguły) wykonanie polecenia UPDATE na tabeli X i kolumnach ujętych w triggerze (m.in. warunek IF) powoduje zerwanie połączenia z bazą (MySQL server has gone away). Metodą "zakomentuj frament -> uruchom" doszedłem do tego, że winny jest SELECT wewnątrz triggera, który odpytuje tą samą tabelę. Po jego usunięciu ok. 30 prób wykonania UPDATE przebiega bez problemu, gdy SELECT jest w triggerze to połączenie jest zrywane czasem za 3, czasem za 5, czasem za 9 wywołaniem pod rząd - nie ma zasady, jest w zasadzie losowość. Samo polecenie UPDATE wykonuje się szybko zarówno w momencie gdy wykonuje się prawidłowo, jak i gdy zrywa połączenie (komunikat jest od razu).

Testy przeprowadzałem w phpMyAdmin klikając w kółko: SQL -> wklej zapytanie -> wykonaj, SQL -> wklej... więc nie było to testowane na zasadzie pętli tylko ręcznie. Testowe zapytanie było na zasadzie UPDATE X SET pole = 1 WHERE id = 123; gdzie trigger odpala w sobie SELECTa jeśli NEW.pole = 1.

Podsumowując:
- trigger na tabeli X,
- wewnątrz triggera SELECT na tabeli X,
- czasem zrywanie połączenia z bazą, czasem nie.

Czy ktoś spotkał się z podobnym przypadkiem?
Pyton_000
Pokaż ten trigger cały
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.