用數據填充行我有一個看起來大致是這樣的數據:MySQL的:從上一行
user_id range start end
10 500 1 500
11 175
12 200
,需要把它改造成這樣的:
user_id range start end
10 500 1 500
11 175 501 675
12 200 676 875
所以後續的每一行的開始數字是上一行的結束數字。當前行的結束編號是起始編號+範圍-1。
我想這樣做純粹是在SQL,但似乎有點卡住,因爲這會產生一個錯誤:
UPDATE users U
SET start = (SELECT end+1 FROM users U2 WHERE U2.id = U.id - 1)
WHERE U.id > 1;
導致You can't specify target table 'users' for update in FROM clause
- 雖然我還在玩弄一個解決方案,似乎無法找到一個。