2010-09-22 14 views
6

Ho una tabella con il nome della colonna displayorders con valori da 1 a 250 e non è autoincremento.Come aggiungere +1 ai valori già esistenti

Ora voglio aggiungere una nuova riga nella tabella con displayorder = 3. Quindi non voglio aggiornare manualmente tutti i valori da 3 a 250. A parte ciò, voglio aggiornare tutti i displayorders a +1 e Posso cambiare manualmente da 1 a 2 (cioè 2 o 3 dopo l'aggiornamento). Come posso farlo tramite SQL Query?

risposta

17

Se ho capito bene, che ci si vuole eseguire un UPDATE dichiarazione come questa: caso

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

prova:

CREATE TABLE your_table (displayorder int); 

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

Risultato dopo l'istruzione UPDATE:

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

aggiorna il tuoTableName set displayorder = displayorder + 1 dove displayorder > 2

2
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2 
Problemi correlati