我试图更新整个列,但它似乎只更新了第一个匹配的行。
这是我的代码
$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
));
如何更新列?我知道他们有更多的比赛。
答案 0 :(得分:0)
但它似乎只更新了第一个匹配的行
是的,因为您使用了WHERE
子句的过滤器,如下所示
WHERE sort_order > :sort_order AND reply_to = :id'
如果要更新所有行,请删除WHERE
条件
UPDATE tree SET sort_order = sort_order+1;