Maison >base de données >tutoriel mysql >Pourquoi ma requête MySQL UPDATE avec INNER JOIN produit-elle une erreur de syntaxe ?

Pourquoi ma requête MySQL UPDATE avec INNER JOIN produit-elle une erreur de syntaxe ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-11 03:38:10887parcourir

Why Does My MySQL UPDATE Query with INNER JOIN Produce a Syntax Error?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn