MySQL更新语句错误

发布于 2024-09-29 20:58:41 字数 587 浏览 5 评论 0原文

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

我的更新按钮脚本正在使用最新插入的 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 ?

谢谢。

I have two scripts, one for the Insert, and another for Update.

My update button script is using the latest inserted Id, and goes on something like this:

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);

Apparently, the "where" clause generates an error:

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

Is there any other way in which i could use the latest inserted ID of the same table i am updating?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暗藏城府 2024-10-06 20:58:41

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

wait a second. why are you using AND to delimit SET claus elements? it must be comma separated.

倾听心声的旋律 2024-10-06 20:58:41

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

使用同一个表进行更新/删除以及子查询进行 UPDATE 和 DELETE 操作是非法的。

you cannot use the same table (in this case, table tblsurvey) for both the subquery FROM clause and the update target.

Its illegal to use same table for updating/deleting and subquery for UPDATE and DELETE operations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文