因此,我目前正在使用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/