更新命令失败。有人可以查看我的查询吗?

时间:2012-07-30 07:20:00

标签: mysql sql

我有一个表(custTAB),其中缺少一些 zip 代码,但有 city 名称。我有一个zipTAB,其中包含 city zip 代码。我的意图是将缺失的邮政编码从zipTAB复制到custTAB。但是,由于某些原因,我的更新无法正常工作。如果有10K NULL cust_zips,更新后我得到20K NULL cust_zips。有人可以查看发生了什么事吗? )

update custTAB 
   set cust_zip = (select zip 
                     from zipTAB 
                    where custTAB.cust_zip  is null and 
                          custTAB.cust_city   =  zipTAB.city and 
                          custTAB.cust_state  =  zipTAB.state 
                    limit 1 
                  );

感谢。 PS:编辑行号以便于阅读。

1 个答案:

答案 0 :(得分:4)

你可以试试这个吗?你需要加入这两个表:

UPDATE custTab a INNER JOIN zipTab b ON
        a.cust_city = b.city AND
        a.cust_state = b.state
SET a.cust_zip = b.zip
WHERE a.cust_zip IS NULL