MySQL-Unterabfragefehler in der Aktualisierungsabfrage
Bei der bereitgestellten Abfrage tritt ein Fehler aufgrund einer falschen Syntax bei der Verknüpfung der Unterabfrage mit der äußeren Aktualisierungsanweisung auf. Das Problem entsteht, weil die WHERE-Klausel in der äußeren Aktualisierung vor der Ausführung der inneren Unterabfrage angewendet wird.
Um dieses Problem zu beheben, benötigen wir einen unten dargestellten Multi-Table-Update-Ansatz:
UPDATE Competition AS C INNER JOIN ( SELECT CompetitionId, COUNT(*) AS NumberOfTeams FROM PicksPoints AS P WHERE UserCompetitionID IS NOT NULL GROUP BY CompetitionID ) AS A ON C.CompetitionID = A.CompetitionID SET C.NumberOfTeams = A.NumberOfTeams
In dieser angepassten Abfrage:
Diese überarbeitete Abfrage aktualisiert effektiv die Wettbewerbstabelle mit den korrekten Teamzahlen und behebt den vorherigen Syntaxfehler.
Das obige ist der detaillierte Inhalt vonWie behebe ich einen Unterabfragefehler in einer MySQL-Update-Abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!