我尝试更新整个列,但似乎只更新第一个匹配的行。
这是我的代码
$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/