所以,我目前正在使用phpmyadmin4.7.7,我试图用另一个表中存储的值来更新表a的“纬度”列,这个值是我从csv导入的。我一直在看周围的人都在做什么,但我似乎无法让它发挥作用。
如果我的想法是正确的,我需要做如下的事情:
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”,仍然会发生这种情况,有什么建议吗?
我希望geodata在“gridref”列匹配的现有记录上有geotemps纬度数据。
谢谢
2条答案
按热度按时间pkbketx91#
在mysql的updatejoin语法中
SET
子句紧跟在join之后,而不是在UPDATE
条款。1tu0hz3e2#
对于常规更新联接: