Maison >base de données >tutoriel mysql >Comment corriger une erreur de sous-requête dans une requête de mise à jour MySQL ?
Erreur de sous-requête MySQL dans la requête de mise à jour
La requête fournie est confrontée à une erreur en raison d'une syntaxe incorrecte dans la relation entre la sous-requête et l'instruction de mise à jour externe. Le problème se pose car la clause WHERE de la mise à jour externe est appliquée avant l'exécution de la sous-requête interne.
Pour résoudre ce problème, nous avons besoin d'une approche de mise à jour multi-table illustrée ci-dessous :
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
Dans cette requête ajustée :
Cette requête révisée met effectivement à jour la table Compétition avec le nombre d'équipes correct, résolvant ainsi l'erreur de syntaxe précédente.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!