1
我有5行ID:1,2,3,4,5。如何使執行更新反向查詢MySQL通過ID?
然後我做了一個查詢來嘗試這些ID更改爲:2,3,4,5,6
Update table set `id` = `id` + 1
然後我得到:關鍵
重複條目'2'主'。
我明白這個查詢首先由ID 1執行,原因是PRIMARY 2已經存在。
所以我的問題是,如何讓查詢已被執行的ID從5到1
我有5行ID:1,2,3,4,5。如何使執行更新反向查詢MySQL通過ID?
然後我做了一個查詢來嘗試這些ID更改爲:2,3,4,5,6
Update table set `id` = `id` + 1
然後我得到:關鍵
重複條目'2'主'。
我明白這個查詢首先由ID 1執行,原因是PRIMARY 2已經存在。
所以我的問題是,如何讓查詢已被執行的ID從5到1
創造了從1到100的數字定義在列NUM一個主鍵的表num_sample。並寫了這個更新
update num_sample set num = num + 1 order by num desc limit 100;
在MySQL中工作絕對好。
另一種方法不ORDER BY
和LIMIT
:
SET @MAX_ID = SELECT MAX(ID) FROM YOUR_TABLE;
UPDATE YOUR_TABLE
SET ID = ID + @MAX_ID
UPDATE YOUR_TABLE
SET ID = ID - @MAX_ID - 1
你應該嘗試'ORDER BY ID DESC',看看它是否工作 –
@Tin陳德良,它會工作。 – MontyPython
非常感謝。這很簡單,但我想不到 –