#1093 - 您无法在FROM子句中为更新指定目标表'cps'

时间:2015-04-29 09:24:00

标签: mysql sql

我正在尝试更新我选择的记录

但我收到错误#1093,这是我的代码

#target

MYSQL不允许更新select, 那么这种情况的解决方案是什么呢? 是否有像选择更新的东西?

谢谢

2 个答案:

答案 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