2010-09-22 20 views
6

1 - 250 arası değerlere sahip sütun adı gösterimli tablo var ve otomatik değil.Zaten varolan değerlere +1 ekleme

Şimdi tabloya displayorder = 3 ile yeni bir satır eklemek istiyorum. Bu nedenle, 3 ile 250 arasındaki tüm değerleri manuel olarak güncellemek istemiyorum. Bunun yerine, tüm görüntü alanlarını +1'e güncellemek istiyorum. Manüel olarak 1'den 2'ye değiştirebilirim (yani, updation'dan sonra 2'den 3'e kadar). SQL Query ile nasıl yapabilirim?

cevap

17

Eğer doğru anladıysam, böyle bir UPDATE deyimini çalıştırmak isterdim:

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

Test durumda: UPDATE deyiminden sonra

CREATE TABLE your_table (displayorder int); 

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

Sonuç:

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

Güncelleme yourTableName set displayorder = displayorder + 1 displayorder > 2

2
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2 
İlgili konular