Heim  >  Artikel  >  Datenbank  >  Warum schlägt mein MySQL-Trigger zum Aktualisieren von PTS mit der Fehlermeldung „Tabelle pos_table kann nicht aktualisiert werden...' fehl?

Warum schlägt mein MySQL-Trigger zum Aktualisieren von PTS mit der Fehlermeldung „Tabelle pos_table kann nicht aktualisiert werden...' fehl?

Susan Sarandon
Susan SarandonOriginal
2024-11-06 15:11:03278Durchsuche

Why Does My MySQL Trigger for Updating PTS Fail with

Fehlerbehebung bei nicht funktionierendem MySQL-Trigger zum Aktualisieren der PTS-Spalte

Ein Benutzer steht vor einem rätselhaften Problem, bei dem ein scheinbar unkomplizierter MySQL-Trigger nicht ausgeführt werden kann. Sie werden aufgefordert, Hilfe zu suchen. Der Zweck des Triggers besteht darin, eine Spalte „PTS“ in der Tabelle „pos_table“ basierend auf Änderungen in der Spalte „played_games“ zu aktualisieren.

Eine detaillierte Prüfung des Codes zeigt, dass der Trigger korrekt funktionieren sollte, wenn die Spalte „played_games“ Spalte wird geändert. Bei der weiteren Fehlerbehebung wird jedoch eine Fehlermeldung angezeigt: „Die Tabelle pos_table in der gespeicherten Funktion/dem gespeicherten Trigger kann nicht aktualisiert werden, da sie bereits von der Anweisung verwendet wird, die diese gespeicherte Funktion/diesen gespeicherten Trigger aufgerufen hat.“

Dieser Fehler deutet darauf hin Eine Einschränkung der in MySQL gespeicherten Funktionen und Trigger kann das gewünschte Verhalten behindern. Laut MySQL-Dokumentation können solche Funktionen und Trigger keine Tabellen ändern, die von der Anweisung, die sie aufgerufen hat, gleichzeitig zum Lesen oder Schreiben verwendet werden.

Eine mögliche Lösung besteht darin, den Triggertyp in „BEFORE INSERT“ zu ändern und die zu ändern Werte in der Variablen „NEU“.

Darüber hinaus kann die vom Benutzer beabsichtigte Berechnung direkt zur Anzeigezeit statt über eine gespeicherte Spalte durchgeführt werden, wodurch der Code vereinfacht und das Problem mit dem Trigger beseitigt wird.

Das obige ist der detaillierte Inhalt vonWarum schlägt mein MySQL-Trigger zum Aktualisieren von PTS mit der Fehlermeldung „Tabelle pos_table kann nicht aktualisiert werden...' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn