Aktualisierungsabfrage mit Inner Join mit MySQL: Fehlerbehebung bei einem Syntaxfehler
Beim Ausführen der folgenden MySQL-Aktualisierungsabfrage tritt ein Syntaxfehler auf:
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
Hier ist eine überarbeitete Version Ihrer Abfrage, die die Syntax eliminieren sollte Fehler:
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
Bewertung
In der ursprünglichen Abfrage war der Tabellenalias für die Geschäftstabelle falsch definiert; Es hätte b in Ihrer Anfrage stehen sollen, da Sie es dort haben. Das war das einzige Syntaxproblem.
Zusätzliche Hinweise
Ihre Fehlermeldung fehlt. Die Bereitstellung würde helfen, die genaue Ursache des Problems zu ermitteln. Überprüfen Sie außerdem, ob die Feldtypen in Ihren Tabellen (z. B. Mapx und Mapy) mit den Daten übereinstimmen, die Sie einfügen möchten.
Das obige ist der detaillierte Inhalt vonWarum erzeugt meine MySQL-UPDATE-Abfrage mit INNER JOIN einen Syntaxfehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!