MySQLで副問い合わせによって取得した複数のキーでデータを削除する
MySQLで副問い合わせによって取得した複数のキーでデータを削除する
MySQLで副問い合わせによって取得した複数のキーでデータを削除したい
主キー(id)に serialNo を追加し、複合主キーにしようとしたが、serialNo に同じ値が入っており、主キー制約を変更できなかった
重複する項目を削除する際に、少し悩んだのでメモしておく
-- 重複行を特定し、主キーだけのビューを作成 CREATE VIEW v_dummy AS SELECT id, serialNo FROM t_hoge GROUP BY id, serialNo HAVING COUNT(*) > 1; -- 重複行を削除 DELETE FROM t_hoge WHERE (id, serialNo) IN (SELECT id, serialNo FROM v_dummy); -- ビューを削除 DROP VIEW v_dummy;
一度ビューを作成する理由は、副問合せで利用したテーブルをそのまま削除することができないため