【问题标题】:How to update rows of MySQL without stored function?如何在没有存储函数的情况下更新 MySQL 行?
【发布时间】: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?

标签: mysql stored-functions


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2011-09-13
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2013-09-02
      • 1970-01-01
      相关资源
      最近更新 更多