2

我有两个脚本,一个用于插入,另一个用于更新。

我的更新按钮脚本正在使用最新插入的 ID,并继续进行如下操作:

Update tblsurvey
set WouldLikeToBeSeenOnSite = 'sadffas'
and DislikedOnSite = 'asdfsadfsadf'
and OtherNewsWebsitesRead = 'asdfsadfa'
and LikedOnOtherNewsSites = 'asdfsadfas'
and IPAddress = '172.16.0.123'
and DateAnswered = current_date()
where SurveyResponseId in (select max(SurveyResponseId) from tblsurvey);

显然,“where”子句会产生错误:

1093 - you cant specify target table 'tblsurvey' for update in FROM clause. 

有没有其他方法可以使用我正在更新的同一个表的最新插入 ID?

谢谢。

4

2 回答 2

3

等一下。为什么要使用 AND 来分隔 SET 子句元素?它必须用逗号分隔。

于 2010-11-02T07:44:22.913 回答
1

您不能对子查询 FROM 子句和更新目标使用同一个表(在本例中为表 tblsurvey)。

使用同一个表来更新/删除和子查询UPDATEDELETE操作是非法的。

于 2010-11-02T07:42:54.477 回答