Nie mam pojęcia na czym polega problem. Korzystając z MySQL 5.0, pojawia się błąd kompilacji podczas próby uruchomienia następującej instrukcji aktualizacji MYSQL
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
wszystkie nazwy pól są poprawne. jakieś pomysły?
Odpowiedzi:
Spróbuj tego:
Aktualizacja:
Ponieważ powiedziałeś, że zapytanie spowodowało błąd składniowy, stworzyłem kilka tabel, z którymi mógłbym go przetestować i potwierdziłem, że nie ma błędu składniowego w moim zapytaniu:
Widzieć? Brak błędu składniowego. Testowałem przeciwko MySQL 5.5.8.
źródło
show create table business;
ishow create table business_geocode;
tak mogę przetestować moje zapytanie trochę lepiej. Dzięki.AS
kluczowe jest opcjonalne. Ale skoro o tym wspomniałeś, dodałem go do odpowiedzi ze względu na spójność, ponieważ użyłem go w pierwszym aliasie w tym samym zapytaniu.SET
Klauzula powinna pochodzić po opisie tabeli.źródło
W przypadku MySql WorkBench użyj poniższego:
źródło