Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Trigger pobierający dane z tej samej tabeli, MySQL server has gone away
phpion
post 13.07.2021, 23:37:34
Post #1





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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?
Go to the top of the page
+Quote Post
Pyton_000
post 15.07.2021, 21:31:21
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Pokaż ten trigger cały
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 09:51