更新:我在导入时犯了一个错误。公司的所有“建筑”字段都有一个额外的问号。不知道这是怎么发生的。无论如何,这已经解决了。
一个新手问题,(是的,我已经尝试了数小时和数小时才能做到这一点)
我正在尝试用两个表更新数据库。
表格与此类似。
latlon3:
id building roadno block lat2 lon2
1 1331 5943 3 35.55 54.55
公司:
id building roadno block latitude longitude
1 1331 5843 3 empty empty
确定。所以我需要从latlon3表中更新公司表,如果所有三个条件都为真(这是必须的)。建筑,道路,和街区。这就是我到目前为止所做的:
UPDATE companies t
JOIN latlon3 a USING (Building, RoadNo, Block)
SET t.latitude = a.lat2, t.longitude = a.lon2
WHERE t.latitude = '' AND t.longitude = ''
它始终显示受影响的零行。这是我的问题。表公司不会使用latlon3表中相应的纬度和经度字段进行更新。
任何帮助都将不胜感激。
答案 0 :(得分:1)
试试这个,
UPDATE companies t
JOIN latlon3 a ON a.building=t.building AND a.roadno=t.roadno AND a.block=t.block SET t.latitude = a.lat2, t.longitude = a.lon2
WHERE t.latitude = '' AND t.longitude = ''
答案 1 :(得分:1)
两个表中的roadno
值不同。如何在此字段中使用USING
,元组之间没有关系,因此返回0 rows affected
。我添加了id
支票
尝试:
UPDATE companies t
JOIN latlon3 a ON a.id=t.id SET t.latitude = a.lat2, t.longitude = a.lon2
WHERE t.latitude = '' AND t.longitude = ''