2010-09-22 20 views
6

Tengo una tabla con el nombre de columna que muestra los valores de 1 a 250 y no es autoincrement.Cómo agregar +1 a los valores ya existentes

Ahora quiero agregar una nueva fila en la tabla con displayorder = 3. Por lo tanto, no quiero actualizar manualmente todos los valores de 3 a 250. En lugar de eso quiero actualizar todos los indicadores a +1 y Puedo cambiar manualmente de 1 a 2 (es decir, de 2 a 3 después de la actualización). ¿Cómo puedo hacerlo a través de SQL Query?

Respuesta

17

Si he entendido bien, usted quiere ejecutar una instrucción UPDATE así: caso

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

prueba:

CREATE TABLE your_table (displayorder int); 

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

Resultado después de la declaración UPDATE:

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

actualizar yourTableName set displayorder = displayorder + 1 donde displayorder > 2

2
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2 
Cuestiones relacionadas