複数の重複行を含む親テーブル 'policy' があります。これは、一緒に重複を構成する 2 つのフィールド (つまり、policy_number と provider_id) があるという意味です。
重複する親行の子レコードを含む子テーブル 'branch_policy' もあります ('policy' の別の子テーブルがありますが、同じソリューションを 2 番目の子テーブルにも適用できることを願っています)。
重複した親行を削除する前に、重複した親レコードを安全に削除するために、重複した親レコードの子レコードを再親化して、1 つの親レコードを指すようにしたいと考えています。
例えば:
ポリシー テーブル:
id policy_number provider_id originating_branch
--------------------------------------------------
1 123 1 1
2 123 1 2
branch_policy テーブル:
id policy_id
--------------
1 1
2 2
branch_policy の 2 番目のレコードを policy_id = 1 に設定してから、ID 2 のポリシー レコードを削除して、
ポリシー テーブル:
id policy_number provider_id originating_branch
--------------------------------------------------
1 123 1 1
branch_policy テーブル:
id policy_id
--------------
1 1
2 1
どの重複する親レコードが「生存者」として選択されるかは重要ではないことに注意してください。
それが明確であることを願っています!