Как добавить +1 к уже существующим значениям - PullRequest
8 голосов
/ 22 сентября 2010

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

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

Ответы [ 3 ]

20 голосов
/ 22 сентября 2010

Если я правильно понял, вы бы хотели выполнить оператор 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 голосов
/ 22 сентября 2010
UPDATE MyTable SET displayorders=displayorders+1 WHERE displayorders>2
3 голосов
/ 22 сентября 2010

обновить yourTableName set displayorder = displayorder + 1, где displayorder> 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...