首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在FROM子句中指定用于更新的目标表- Mysql 5.7.10 - derived_merge不工作

问无法在FROM子句中指定用于更新的目标表- Mysql 5.7.10 - derived_merge不工作
EN

Stack Overflow用户
提问于 2017-08-10 19:54:30
回答 1查看 31关注 0票数 0

我有以下疑问:

代码语言:javascript
复制
update tblwerknemerdienst toUpdate
set datumtot = (select subdate(datumvanaf,1)
    from (select * from tblwerknemerdienst) nextDienst
    where nextDienst.Werknemer = toUpdate.Werknemer
    and nextDienst.datumvanaf > toUpdate.DatumVanaf
    order by DatumVanaf
    LIMIT 1)
WHERE DatumTot IS NULL;

该查询在MySql 5.7.10以外的MySql版本上运行良好。我在网上搜索过,发现你必须设置derived_merge=off,但遗憾的是,这没有什么效果,查询仍然失败,并返回相同的错误。我还尝试了几种重写查询的不同方法,但都无济于事。我是不是遗漏了什么,或者有没有其他方法来完成这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 17:34:27

最后,我通过在一个过程中重写整个过程来修复这个问题,在这个过程中,我使用游标来执行查询并获取必要的数据。然后,我根据光标中选择的字段执行update语句。

这似乎是在不同版本的MySql上可靠地执行所需操作的唯一方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45613041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档