我想合併(聯合)具有相同結構的兩個表。在已知的行塊中,主鍵(一個auto_increment整數)在兩個表中都用於不同的數據。假設這是主鍵2000-2150的行。將表B中的這些記錄重新編號爲未使用的值(例如,在3000以上的範圍內)的最佳方式是什麼,以便合併可以在沒有衝突的情況下繼續進行?我應該只是更新它們(比如,在該範圍內爲每個ID添加1000),還是有更好的方法?合併兩個SQL表與鍵衝突
注:
此表的所有文獻都宣告
ON UPDATE CASCADE
,這樣我就可以放心地重新編號他們沒有後果。我可以處理的其餘合併。這兩個表包含有用的數據,而當重複該範圍之外的關鍵,我會繼續版本表A
如果可以,請提供您現在正在嘗試的查詢,以便我們有一些工作要做。然而作爲一個簡短的回答,在你選擇的'表B'中,你可以:'從表B選擇Id + 3000,col2,col3,col4。 - 也就是說,如果「Id」列是數字。 – gmiley
我還沒有查詢 - 我不確定採取哪種方法。我想過做一個'UPDATE'來爲塊中的每個ID添加1000,但我想我會問是否有更合適的方法。 – alexis
好吧,我只是將我的評論移到答案然後可能會增加幾個想法。 – gmiley