Maison >base de données >tutoriel mysql >Comment mettre à jour correctement plusieurs tables MySQL à l'aide d'un INNER JOIN ?
MySQL met à jour la requête des tables de jointure interne
En essayant de mettre à jour plusieurs tables à l'aide d'une jointure interne dans MySQL, les utilisateurs peuvent rencontrer des erreurs de compilation. Plus précisément, la requête suivante entraîne une erreur de compilation dans MySQL 5.0 :
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
Pour résoudre ce problème, réorganisez la requête comme suit :
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
Notez que la requête ci-dessus est syntaxiquement correct. Cependant, lors du test de la requête sur des tables existantes dans MySQL 5.5.8, aucune ligne n'a été affectée. Il pourrait s'agir d'un problème différent qui mériterait une enquête plus approfondie en fonction des données spécifiques et de la structure de la table impliquée.
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!