Ich habe keine Ahnung, wo das Problem liegt. Bei Verwendung von MySQL 5.0 wird beim Versuch, die folgende MYSQL-Update-Anweisung auszuführen, ein Kompilierungsfehler angezeigt
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
Alle Feldnamen sind korrekt. Irgendwelche Gedanken?
Antworten:
Versuche dies:
Aktualisieren:
Da Sie sagten, dass die Abfrage einen Syntaxfehler ergab, habe ich einige Tabellen erstellt, anhand derer ich sie testen konnte, und bestätigt, dass meine Abfrage keinen Syntaxfehler enthält:
Sehen? Kein Syntaxfehler. Ich habe gegen MySQL 5.5.8 getestet.
quelle
show create table business;
undshow create table business_geocode;
damit ich meine Anfrage etwas besser testen kann. Vielen Dank.AS
Schlüsselwort ist optional. Aber da Sie es erwähnt haben, habe ich es aus Gründen der Konsistenz zur Antwort hinzugefügt, da ich es für den ersten Alias in derselben Abfrage verwendet habe.Die
SET
Klausel sollte nach der Tabellenspezifikation stehen.quelle
Für MySql WorkBench verwenden Sie bitte unten:
quelle