2010-09-22 5 views
6

J'ai une table avec les afficheurs de nom de colonne avec les valeurs 1 à 250 et ce n'est pas auto-incrémenté.Comment ajouter +1 à des valeurs déjà existantes

Maintenant je veux ajouter une nouvelle ligne dans la table avec displayorder = 3. Donc je ne veux pas mettre à jour manuellement toutes les valeurs du formulaire 3 à 250.Au lieu de cela je veux mettre à jour tous les affichages à +1 et Je peux changer manuellement de 1 à 2 (ie 2 à 3 après la mise à jour) .Comment puis-je le faire via SQL Query?

Répondre

17

Si je comprends bien, vous voudriez exécuter une instruction UPDATE comme ceci:

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

Cas de test:

CREATE TABLE your_table (displayorder int); 

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

Résultat après la déclaration UPDATE:

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

mettez à jour votreTableName set displayorder = displayorder + 1 où displayorder > 2

2
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2 
Questions connexes