Php 正在尝试更新列
我试图更新整个列,但它似乎只更新第一个匹配的行 这是我的密码Php 正在尝试更新列,php,mysql,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' =>
$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
));
如何更新该列?我知道他们的比赛还有很多
但它似乎只更新第一个匹配行
是的,因为您使用了一个过滤器,使用了WHERE
子句,如下所示
WHERE sort_order > :sort_order AND reply_to = :id'
如果要更新所有行,请删除WHERE
条件
UPDATE tree SET sort_order = sort_order+1;
您的查询似乎符合您声明的意图。样本数据和实际/预期结果可能有助于解释发生了什么。是的。说我想更新5以上的记录。where子句不是问题所在。然后从查询中删除
和reply\u to=:id'
条件。如果我要更新所有大于5的记录,且reply\u to行中的值为1,该怎么办?我该如何解决这个问题?