0
我有一個三列表:id
,foreign_id
和tag
。此表上的查詢首先按foreign_id
排序,然後按tag
排序,但我們希望棄用tag
列,以支持更可靠且自動生成的id
。爲此,我們還需要保留tag
列中存儲的訂購數據,而不保留tag
。此排序僅適用於foreign_id
列的範圍。MySQL更新AUTO_INCREMENT PK以保留行排序
爲了解決這個問題,我們決定在每個foreign_id
的範圍內更新id
,使得ID的順序保留tag
訂單信息。
如何更新AUTO_INCREMENT
主鍵列,以便在計數器中分配下一個值而不更改行的其餘部分?
或者,如何將整個行(減去pk)複製到新行並刪除舊行?
如果你問的ID爲1-N爲每個foreign_id,MyISAM仍然可以通過使auto_increment字段只是主鍵的一部分來支持這一點。我不認爲ALTER會相應地更新這些值。如果這就是你要找的東西,我可以提供一個查詢來在這樣的ALTER執行後更新數據。 – Uueerdo