我正在將數據庫結構轉換爲其他數據庫結構。 ID有這個問題。用於使用ID參照彼此的項目 - 但由於新結構不同,因此這些ID的必須更改爲。一次對錶中的數字進行重新編號
所以,你有一個表(這是一個例子):
| id | ref |
+----+-----+
| 1 | 3 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
現在,讓我們說,在新表中,ref
ference ID必須像這樣的改變:
| old | new |
+-----+-----+
| 1 | 2 |
| 2 | 1 |
| 3 | 4 |
| 4 | 3 |
見如果您隨後用UPDATE
替換舊的ref
會發生什麼情況:
Replacing: 1=>2 Replacing: 2=>1 This is what we need at the end:
well, damn
| id | ref | | id | ref | | id | ref |
+----+-----+ +----+-----+ +----+-----+
| 1 | 3 | | 1 | 3 | | 1 | 4 |
| 2 | *2* | | 2 | 2 | | 2 | 2 |
| 3 | *2* | | 3 | 2 | | 2 | 2 |
| 4 | 2 | | 4 | *2* | | 2 | 1 |
所以我需要一次替換它。我怎樣才能做到這一點?
按照什麼標準確定1變成2而2變成1? – GolezTrol 2014-09-25 21:53:45
@GolezTrol按標準將使這篇文章長3倍。沒關係。如果你真的感興趣,下面是關於我的特定數據庫的問題(http://stackoverflow.com/q/26002256/607407)案例。沒有人理解它 - 好運。 – 2014-09-25 22:03:05
你聽起來像是我的問題,但對我來說,它似乎是你的。我對你的數據庫並不特別感興趣,我只是要求 - 我認爲是 - 爲你的問題提供一個很好的答案的必要信息。 – GolezTrol 2014-09-25 22:09:58