MySQL错误1054在Where子句中

时间:2012-07-27 21:56:23

标签: mysql sql database

以下SQL查询一直适合我:

DELETE FROM zNMall1r.* WHERE zNMall1r.Phone = DoNotCall.Phone

当我尝试执行时,它返回错误1054:

17:51:01    DELETE zNMall1r.* FROM zNMall1r WHERE zNMall1r.Phone = Phone.DoNotCall  
Error Code: 1054. Unknown column 'Phone.DoNotCall' in 'where clause'    0.078 sec

有人对此有所想法吗?

2 个答案:

答案 0 :(得分:0)

错误消息非常清楚,表示您的DoNotCall.Phone子句中有一个未知列(WHERE)。

这是在另一张桌子上,你是否试图在桌子上JOIN

如果是,那么您需要执行以下操作:

DELETE z
FROM zNMall1r z
INNER JOIN DoNotcall o
   ON z.yourIdcol = o.yourIdCol
WHERE z.Phone = o.Phone

答案 1 :(得分:0)

您还没有加入名为DoNotcall的表格。 MySQL不会搜索其所有数据库来尝试查找该列,因此您会收到此错误。