2016-06-23 4 views
1
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' を指定することはできませんか? これは私が同じテーブルでupdateとselectクエリを使用しているためですか? もしそうなら、代替解決策は何ですか?

おかげ

+0

は、問題を解決されていません –

答えて

3

は、MySQLでこれを行う方法の1つは、joinを使用することです。ただし、あなたの場合、joinキーとwhere句は同じ列を使用しています。だから、追加のテーブル参照は必要ありません:

update goods_inward_outward gio 
    set is_active = 0 
    where gi_go_id < 100; 
1

は、サブクエリを離れてやっと何か問題があるでしょう:alisasを追加

UPDATE goods_inward_outward 
SET is_active = 0 
WHERE gi_go_id < 100 
関連する問題