@animr

Как выполнить такой запрос?

Друзья, помогите разобраться с запросом:

$sql = "UPDATE table SET Sort = :Sort + 1 WHERE Sort = (SELECT Sort FROM table WHERE Sort > :Sort)";

Написал функцию чтоб исполнялся запрос:

public static function SortProduct($value){
$db = Db::getConnection();
$sql = "UPDATE table SET Sort = :Sort + 1 WHERE Sort = (SELECT Sort FROM table WHERE Sort > :Sort)";
$result = $db->prepare($sql);
$result->bindParam(':Sort', $value, PDO::PARAM_INT);
return $result->execute();
}

Поле Sort уникальное и числовое.
Функция должна увеличивать все числа в таблице в поле Sort на +1, начиная со следующего числа.
  • Вопрос задан
  • 262 просмотра
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
По порядку:
SET Sort = :Sort + 1
То есть вы увеличивается значение не на +1, а на :Sort (отправленный параметр) + 1, так и должно быть?
-
Ну а по сути в остальном все должно работать, в чем вопрос то? Если вылетает ошибка: какая ошибка вылетает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы