update goods_inward_outward
set is_active = 0
where gi_go_id IN (select gi_go_id from goods_inward_outward where gi_go_id <100)
我收到了以下错误。
#1093 - 您无法在FROM子句中为更新指定目标表'goods_inward_outward'
上面的问题是什么? 这是因为我在同一个表上使用更新和选择查询? 如果是这样,有什么可以替代解决?
由于
答案 0 :(得分:3)
在MySQL中执行此操作的一种方法是使用join
。但是,在您的情况下,join
键和where
子句使用相同的列。因此,不需要额外的表引用:
update goods_inward_outward gio
set is_active = 0
where gi_go_id < 100;
答案 1 :(得分:1)
取消子查询会有什么问题:
UPDATE goods_inward_outward
SET is_active = 0
WHERE gi_go_id < 100