PDO - Zwiększanie wartości w kolumnie

0

Czy za pomocą PDO jest możliwe zwiększanie wartości danej kolumny ? Przykładowe zapytanie nizej

UPDATE categories SET ip=:ip, depth=:depth ,pos=:pos, parentID=:parentID WHERE id=:id

Kolumna depth jest typu całkowitego.
Chciałbym przenosząc kategorię zwiększać lub zmiejszać automatycznie depth. Używam do tego instrukcji bindValue

$stmt->bindValue(':depth', 'depth+1');

Czy komuś się takie coś udało ?
Gdyby to był pojedynczy element po prostu pobierałbym go i ustawiał ręcznie daną wartość - natomiast tutaj mam zamiar aktualizować wiele rekordów jednocześnie.

0

A nie prościej tak?

UPDATE categories SET ip=:ip, depth=depth + 1 ,pos=:pos, parentID=:parentID WHERE id=:id
0

Prościej, tylko chodzi o to te +1 jest parametrem i zmienia się - do tej pory robię to tak

UPDATE categories SET ip=:ip, depth=$depth ,pos=:pos, parentID=:parentID WHERE id=:id

gdzie zmienną $depth ustawiam sobie odpowiednio wcześniej. Tylko takie rozwiązanie nie wygląda dla mnie ładnie - nie chciałbym mieszać sposobów przypisywania wartości. Jeśli to nie jest możliwe - ok, jakoś się przemęczę. Ciekawi mnie tylko czy jest jakiś sposób z wykorzystaniem PDO

1

Nie korzystam z PDO, ale krótka wizyta w manualu i do głowy przychodzi mi tylko

UPDATE categories SET ip=:ip, depth=depth+:depth, pos=:pos, parentID=:parentID WHERE id=:id
//http://php.net/manual/pl/pdostatement.bindvalue.php
$stmt->bindValue(':depth', 666, PDO::PARAM_INT); // zamiast 666 - Twoja zmienna
0

Dzięki za pomoc :) proste rozwiązanie - a ja kombinowałem jak koń pod górę :) chociaż sam ustawiłem to jako

depth=depth+:depth

1 użytkowników online, w tym zalogowanych: 0, gości: 1