6

特定のレコードがテーブル B に存在するかどうかを確認できるかどうかを調べようとしています。存在する場合は、テーブル A を更新しないでください。

グーグルを試してみましたが、挿入バージョンしか見つからず、更新クエリでも可能かどうかわかりません。

前もって感謝します

4

3 に答える 3

12
update table_to_update 
set some_column = 123
where id = 1
and id not in (select id from table_b)
于 2012-05-26T05:58:10.267 に答える
2

MySQL のexists式を試すこともできます。古い MySQL バージョン、つまり 5.0 で exists 構文を使用すると、ネストされたクエリを使用するよりも高速であることが証明されました。

update table_a
set some_column = 'bla'
where not exists (select id
                        from table_b
                        where table_a.id = table_b.id)
于 2014-05-05T13:00:26.087 に答える