尝试更新列

时间:2015-09-05 15:04:42

标签: 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
                              ));

如何更新列?我知道他们有更多的比赛。

1 个答案:

答案 0 :(得分:0)

  

但它似乎只更新了第一个匹配的行

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

WHERE sort_order > :sort_order AND reply_to = :id'

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

UPDATE tree SET sort_order = sort_order+1;