2010-09-22 2 views
6

У меня есть таблица с дисплеями с именами столбцов со значениями от 1 до 250, и это не автоинкремент.Как добавить +1 к уже существующим значениям

Теперь я хочу добавить новую строку в таблицу с displayorder = 3. Поэтому я не хочу вручную обновлять все значения от 3 до 250. Вместо этого я хочу обновить все дисплеи до +1 и Я могу изменить вручную от 1 до 2 (т.е. от 2 до 3 после обновления). Как я могу это сделать с помощью SQL Query?

ответ

17

Если я правильно понял, вы хотите запустить UPDATE подобное заявление:

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

Контрольный пример:

CREATE TABLE your_table (displayorder int); 

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

Результат после UPDATE заявления:

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

update yourTableName set displayorder = displayorder + 1 где displayorder > 2

2
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2 
Смежные вопросы