2017-11-23 14 views
0

サブクエリでmysqlデータテーブルを更新しようとしています。誰でも私を案内してくれますか?これらのコードは私が試しています。Sql - サブクエリでSQLを更新

UPDATE table_name SET meta_value = 'day' 
WHERE post_id IN (
    SELECT post_id FROM table_name 
    WHERE meta_key = '_min_date' AND meta_value='0') 
AND meta_key = '_min_date_unit' 
+0

これを実行するとどうなりますか? –

答えて

0

代わりjoinを使用:

Update table_name t join 
     table_name tt 
     on tt.post_id = t.post_id and tt.meta_key = '_min_date' and 
      tt.meta_value = '0' 
    set t.meta_value = 'day' 
where t.meta_key = '_min_date_unit'; 

MySQLは唯一joinを用いupdate句で参照されるべきであるテーブルが更新されている制限を有しています。あなたのバージョンのクエリは他のどのデータベースでも動作します。

+0

ありがとうございました...あなたは私の日を救います... –