php - 尝试更新列

标签 php mysql

我尝试更新整个列,但似乎只更新第一个匹配的行。

这是我的代码

 $sql = 'UPDATE tree SET sort_order = sort_order+1 WHERE sort_order > :sort_order AND reply_to = :id';
        $query = $app->getConnection()->prepare($sql);
        $query->execute(array(':sort_order' => get_sort(),
                              ':id' =>$id
                              ));

如何更新专栏?我知道他们还有更多匹配的。

最佳答案

but it seems to only update the first matching row

是的,因为您使用了 WHERE 子句的过滤器,如下所示

WHERE sort_order > :sort_order AND reply_to = :id'

如果您想更新所有行,请删除 WHERE 条件

UPDATE tree SET sort_order = sort_order+1;

关于php - 尝试更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32414534/

相关文章:

mysql - Excel - 在来自 MySQL 数据库查询中使用变量单元格值 (Sheet1!A2)

php - 简单的 PHP/mySQL 查询?

php - 无法使用 PHP 创建数据库,并且我的语法是正确的

php - 如何在 woocommerce 中为购物车创建 API?

php - 检查数据库中创建的字符串,如果找到,则创建新字符串?

php - 返回多个结果 mysql 和 php

php - 如何使用 php 动态生成 openvpn 客户端 key 并将变量传递给 shell 命令?

Java javax.crypto 和 PHP openssl_decrypt 不相同

mysql - 从 pt-query-digest 获取详细结果

mysql - 按 "thread"或 "discussion"排序消息表