我在表中有重複的行。如何刪除重複的行並更新表
我有一個由外鍵
regions (id)
orders (region_id)
的地區有重複的名字相連的兩個表。我想刪除這些重複的行和更新訂單表,現在重複的外鍵將被設置爲只保留區域表中的現有名稱。
例子:
regions table:
id name
1 | test
2 | test
3 | foo
orders table:
id region_id
6 | 1
7 | 2
9 | 3
我想
orders table:
id region_id
6 | 1
7 | 1
9 | 3
regions table:
id name
1 | test
3 | foo
我可以重複的行與此SQL:
SELECT name, count(id) as cnt FROM regions
GROUP BY name HAVING cnt > 1
我如何連接這個選擇與順序表和刪除重複行和更新表?
重複保存記錄的邏輯是什麼?我假設第一個(即最低的主鍵)。你有機會獲得另一項技術嗎?直接使用MySQL可能很難做到這一點。 –
Lukas它不只是刪除行。我需要更新外鍵! – senzacionale
對不起,你是對的... –