Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich mehrere MySQL-Tabellen mithilfe eines INNER JOIN korrekt?

Wie aktualisiere ich mehrere MySQL-Tabellen mithilfe eines INNER JOIN korrekt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-08 16:12:10989Durchsuche

How to Correctly Update Multiple MySQL Tables Using an INNER JOIN?

Abfrage für MySQL-Update-Inner-Join-Tabellen

Beim Versuch, mehrere Tabellen mithilfe eines Inner-Joins in MySQL zu aktualisieren, können bei Benutzern Kompilierungsfehler auftreten. Konkret führt die folgende Abfrage zu einem Kompilierungsfehler in 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

Um dieses Problem zu beheben, ordnen Sie die Abfrage wie folgt neu:

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

Beachten Sie, dass die obige Abfrage syntaktisch ist richtig. Beim Testen der Abfrage anhand vorhandener Tabellen in MySQL 5.5.8 waren jedoch keine Zeilen betroffen. Dies könnte ein anderes Problem sein, das je nach den spezifischen Daten und der Tabellenstruktur eine weitere Untersuchung erfordert.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich mehrere MySQL-Tabellen mithilfe eines INNER JOIN korrekt?. 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