我正在尝试更新我选择的记录
但我收到错误#1093,这是我的代码
#target
MYSQL不允许更新select, 那么这种情况的解决方案是什么呢? 是否有像选择更新的东西?
谢谢
答案 0 :(得分:0)
将查询包装在另一个查询的in
子句中:
select t.*
from (
select `parent`
from `tabCategories_Products`
where `categories` != 'CAT00108')
) t
此子查询创建一个隐式临时表t
,并且不会计入您要更新的表。
答案 1 :(得分:0)
也许做一个left join
,然后更新将是一个更好的主意
update tabCategories_Products p1
left join tabCategories_Products p2 on p1.parent = p2.parent
and p2.categories <> 'CAT00108'
set p1.categories = 'CAT00001'
where
p1.categories = 'CAT00108'
and p2.parent is null