Maison >base de données >tutoriel mysql >Pourquoi ma requête MySQL UPDATE avec INNER JOIN produit-elle une erreur de syntaxe ?
Requête de mise à jour à l'aide d'une jointure interne avec MySQL : dépannage d'une erreur de syntaxe
Vous rencontrez une erreur de syntaxe lors de l'exécution de la requête de mise à jour MySQL suivante :
UPDATE b SET b.mapx = g.latitude, b.mapy = g.longitude FROM business AS b INNER JOIN business_geocode g ON b.business_id = g.business_id WHERE (b.mapx = '' OR b.mapx = 0) AND g.latitude > 0
Voici une version révisée de votre requête qui devrait éliminer la syntaxe erreur :
UPDATE business AS b INNER JOIN business_geocode AS g ON b.business_id = g.business_id SET b.mapx = g.latitude, b.mapy = g.longitude WHERE (b.mapx = '' OR b.mapx = 0) AND g.latitude > 0
Évaluation
La requête d'origine avait l'alias de table mal défini pour la table métier ; cela aurait dû être b dans votre requête comme vous l'avez là. C'était le seul problème de syntaxe.
Notes supplémentaires
Votre message d'erreur est manquant. Le fournir aiderait à identifier la cause exacte du problème. De plus, vérifiez que les types de champs dans vos tables (par exemple, mapx et mapy) correspondent aux données que vous essayez d'insérer.
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!