記錄我有兩個表:如何刪除重複項,並更新引用這些重複的SQL
User:(int id, varchar unique username)
Items: (int id, varchar name, int user_id)
目前,有user表中不區分大小寫的重複,如:
1,John
2,john
3,sally
4,saLlY
然後項目表將有
1,myitem,1
2,mynewitem,2
3,my-item,3
4,mynew-item,4
我已經更新了插入到用戶表,以確保我的代碼t總是插入小寫字母。
不過,我需要遷移的數據庫中,以便重複從用戶表中刪除,並且項目表引用更新,以便遷移數據後,用戶不會失去自己的物品
IE訪問將是:
用戶:
1,john
3,sally
項目
1,myitem,1
2,mynewitem,1
3,my-item,3
4,mynew-item,3
由於用戶表具有唯一約束,我不能只將其設置爲較低的像
update public.user set username =lower(username)
我使用H2數據庫 – user171943
首先更新項目,以便它們都指向用戶的正確版本,然後刪除不需要的用戶。 – Randy
我可以在Java或其他編程語言中做到這一點,我想知道是否可以純粹使用SQL – user171943