2010-09-22 24 views
6

我有列名顯示順序的值爲1到250的表,它不是自動增量。如何將+1添加到已有的值

現在我想在displayorder = 3的表中添加一個新行。所以我不想手動更新所有的值從3到250.而是我想更新所有顯示順序爲+1和我可以手動從1更改爲2(即更新後爲2至3)。如何通過SQL查詢執行此操作?

回答

17

如果我理解正確的是,你要運行一個UPDATE聲明是這樣的:

UPDATE your_table SET displayorder = displayorder + 1 WHERE displayorder > 2; 

測試案例:UPDATE語句後

CREATE TABLE your_table (displayorder int); 

INSERT INTO your_table VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9); 

結果:

SELECT * FROM your_table; 
+--------------+ 
| displayorder | 
+--------------+ 
|   1 | 
|   2 | 
|   4 | 
|   5 | 
|   6 | 
|   7 | 
|   8 | 
|   9 | 
|   10 | 
+--------------+ 
9 rows in set (0.00 sec) 
3

更新yourTableName設置displayorder = displayorder + 1 where displayorder > 2

2
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2 
相關問題