因此,我目前正在使用PHPmyadmin 4.7.7,并且我试图使用我从CSV导入的另一个表中存储的值来实质上更新表A的“纬度”列。我一直在寻找人们在做什么,但似乎无法使其正常工作。

如果我的想法正确,则需要执行以下操作:

UPDATE q
SET q.Latitude = a.Latitude
FROM geodata q
INNER JOIN geotemp a
ON q.Latitude = a.Latitude
WHERE q.gridref = a.gridref;


但这给了我以下错误:

#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'FROM
geodata q
INNER JOIN geotemp a ON q.Latitude = a.Latitude
WHERE
q' at line 5


我已经查看了内部连接的语法,但是看不到我输入的内容的问题,如果我放弃q和a并使用“ geodata”和“ geotemp”,它仍然会发生任何建议吗?

我期望的结果是,地理数据在“ gridref”列匹配的现有记录上具有地理温度纬度数据。

谢谢

最佳答案

在MySQL的更新联接语法中,SET子句紧接在联接之后,而不是在UPDATE子句之后。

UPDATE q
FROM geodata q
INNER JOIN geotemp a
    ON q.Latitude = a.Latitude
SET q.Latitude = a.Latitude
WHERE q.gridref = a.gridref;

关于mysql - SQL将一个表数据连接到另一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49858610/

10-10 22:05