0

複数の重複行を含む親テーブル '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

どの重複する親レコードが「生存者」として選択されるかは重要ではないことに注意してください。

それが明確であることを願っています!

4

1 に答える 1