Mysql 如何添加+;1到已存在的值

Mysql 如何添加+;1到已存在的值,mysql,sql-update,Mysql,Sql Update,我有一个列名为displayorders的表,值为1到250,它不是自动递增的 现在我想在表中添加一个新行,其显示顺序为displayorder=3。因此,我不想手动将所有值从3更新到250。相反,我想将所有displayorders更新为+1,并且我可以手动将1更改为2(即更新后的2到3)。如何通过SQL查询实现这一点 如果我理解正确,您可能希望运行如下UPDATE语句: UPDATE your_table SET displayorder = displayorder + 1 WHERE d

我有一个列名为displayorders的表,值为1到250,它不是自动递增的


现在我想在表中添加一个新行,其显示顺序为
displayorder
=3。因此,我不想手动将所有值从3更新到250。相反,我想将所有displayorders更新为+1,并且我可以手动将1更改为2(即更新后的2到3)。如何通过SQL查询实现这一点

如果我理解正确,您可能希望运行如下
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)

更新您的TableName集displayorder=displayorder+1,其中displayorder>2

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