以下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
有人对此有所想法吗?
答案 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不会搜索其所有数据库来尝试查找该列,因此您会收到此错误。