因此,我目前正在使用 PHPmyadmin 4.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”,它仍然会发生任何建议?
我在这里期望的结果是地理数据在“gridref”列匹配的现有记录上具有 geotemps 纬度数据。
谢谢
最佳答案
在 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/