Mysql 如何添加+;1到已存在的值
我有一个列名为displayorders的表,值为1到250,它不是自动递增的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
现在我想在表中添加一个新行,其显示顺序为
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