Heim >Datenbank >MySQL-Tutorial >Warum erzeugt meine MySQL-UPDATE-Abfrage mit INNER JOIN einen Syntaxfehler?

Warum erzeugt meine MySQL-UPDATE-Abfrage mit INNER JOIN einen Syntaxfehler?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-11 03:38:10887Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn