如何在没有存储函数的情况下更新 MySQL 行?
Posted
技术标签:
【中文标题】如何在没有存储函数的情况下更新 MySQL 行?【英文标题】:How to update rows of MySQL without stored function? 【发布时间】:2014-09-05 03:30:59 【问题描述】:我的云服务器不允许存储函数/过程,怎么办?
我的桌子是:
|id |状态| | 1 |不错| | 2 |坏| | 3 |不错| | 4 |不错|
我希望它是:
| 1 |不错| | 3 |坏| | 4 |不错| | 5 |不错|
这可以用一行语句完成吗?基本上我想将 id>x 的行中的所有 id 更改为 id+1。在这种情况下,x = 2。
更新
忘了说 id 是唯一的,那么如何对它们进行排序然后更改?
【问题讨论】:
UPDATE tableName SET id = id + 1 WHERE id > 1
?
【参考方案1】:
你可以使用
UPDATE yourtable SET id = id + 1 WHERE id > 1 ORDER BY ID DESC;
如果 id 是唯一的,您将面临一个已知的“错误”或“功能”,但按 desc 排序将帮助您避免它。
【讨论】:
【参考方案2】:试试这个
UPDATE `table` SET id = id + 1 WHERE id > 1
【讨论】:
以上是关于如何在没有存储函数的情况下更新 MySQL 行?的主要内容,如果未能解决你的问题,请参考以下文章