Não faço ideia de qual seja o problema. Usando o MySQL 5.0, recebo um erro de compilação ao tentar executar a seguinte instrução de atualização 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
todos os nomes de campo estão corretos. Alguma ideia?
Respostas:
Tente o seguinte:
Atualizar:
Como você disse que a consulta gerou um erro de sintaxe, criei algumas tabelas nas quais eu poderia testá-lo e confirmei que não há nenhum erro de sintaxe na minha consulta:
Vejo? Nenhum erro de sintaxe. Eu testei contra o MySQL 5.5.8.
fonte
show create table business;
eshow create table business_geocode;
para que eu possa testar minha consulta um pouco melhor. Obrigado.AS
palavra-chave é opcional. Mas desde que você mencionou, eu a adicionei à resposta por questões de consistência, já que a usei no primeiro alias na mesma consulta.A
SET
cláusula deve vir após a especificação da tabela.fonte
Para o MySql WorkBench, use abaixo:
fonte