gpt4 book ai didi

Mysql 使用带有子查询的更新

转载 作者:行者123 更新时间:2023-11-29 12:24:52 25 4
gpt4 key购买 nike

我想通过在 where 子句中使用子查询来更新表,但出现异常“您无法在 FROM 子句中指定目标表'catalog_category for update'”。这是我的查询:

update catalog_category set `status` = "inactive"
where id_catalog_category in (
SELECT id_catalog_category
FROM catalog_category t1 where (SELECT status
FROM catalog_category t2
WHERE t2.lft < t1.lft AND t2.rgt > t1.rgt
ORDER BY t2.rgt-t2.lft ASC limit 1) = 'active' and status = 'inherited_inactive')

有什么办法可以修复这个错误吗?

最佳答案

使用以下sql进行更新:-

update catalog_category cc
join (SELECT id_catalog_category
FROM catalog_category t1 where (SELECT status
FROM catalog_category t2
WHERE t2.lft < t1.lft AND t2.rgt > t1.rgt
ORDER BY t2.rgt-t2.lft ASC limit 1) = 'active' and status = 'inherited_inactive') tmp
on cc.id_catalog_category = tmp.id_catalog_category
set cc.`status` = "inactive"

关于Mysql 使用带有子查询的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28474707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com