提问者:小点点

“WHERE子句”中的未知列在过程中失败


我正试图在一个过程中运行以下代码。它是过程中begin之后的第一行代码

update `deleteRequestsInitial` 
SET `mamaID` = (SELECT `id` FROM `love_users`
                WHERE `love_users`.`email` = `deleteRequestsInitial`.`Email`);

当我在phpmyadmin SQL环境中运行它时,它工作得很好。但当我调用该过程时,我得到的错误是:

“WHERE子句”中得列“DeleteRequestsInitial.Email”未知

我看了很多关于“未知列”错误的文章,但没有一个建议的解决办法似乎对我有效。


共1个答案

匿名用户

您可能真的在运行这个:

update `deleteRequestsInitial` 
SET `mamaID` = (SELECT `id` FROM `love_users`
                WHERE `love_users`.`email` = `deleteRequestsInitial.Email`);

或者,列是email,而不是email

我建议把后面的刻度都去掉:

UPDATE deleteRequestsInitial dri
    SET mamaID = (SELECT id
                  FROM love_users lu
                  WHERE lu.email = dri.Email
                 );