[英]auto_increment to a lower unused number with mysql
我有一個old
網站和一個new
網站... old
網站上放置了4500個訂單,並通過帶有主鍵作為訂單ID的表進行跟蹤。
啟動new
網站時,它是在將old
訂單遷移到其中之前啟動的。 為此,將new
訂單表上的auto_increment
值設置為5000,這樣放置的任何new
訂單都不會與old
ID發生沖突。
這樣可以繼續在new
網站上下訂單,一切都很好...
現在,我想運行導入腳本以將old
訂單帶入new
網站。
是否可以將new
訂單表上的auto_increment
值暫時降低至所需的訂單ID?
免責聲明 :這是從基於Drupal 5 Ubercart的站點到基於Drupal 7 Commerce的站點的遷移,因此我無法(輕松地)控制組裝新訂單所涉及的復雜查詢,並且不能簡單地(AFAIK)提供組裝訂單時的訂單ID,因為系統在創建訂單時始終引用表中的下一個可用主鍵值。 我可以輕松地使站點脫機以運行腳本,因此沒有任何不同步的情況。
導入“舊”訂單時,您不需要依賴自動增量ID,因為它們已經有ID,您可能希望保留這些ID!
修改您的導入腳本,以將完整的舊記錄插入到新表,id和全部中! 只要id不沖突,就不成問題。
您始終可以運行ALTER TABLE table_name AUTO_INCREMENT = 1;
(或您想要的任何數字)。
問題是:您是否願意 ?
如果數據庫中已經有任何記錄,則最好確保下一個自動增量值大於數據庫中已經存在的最大值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.