У меня есть таблица, в которой мне нужно ОБНОВИТЬ все записи со значением, полученным из значения предыдущей записи.
Например, учитывая три поля id
, lft
и rgt
, мне нужно, чтобы lft
было значением (((current id
- 1) 's lft
) + 2 ) и rgt
- значение (((текущее id
- 1) s rgt
) + 2). Я имею в виду обладание смыслом select lft where id=[current id-1]
и select rgt where id=[current id-1]
Как мне выразить это в правильном синтаксисе SQL?
- Учитывая, что
id
записи равно 2
, lft
будет равно 3
,
rgt
будет равно 4
.
- Учитывая, что
id
записи составляет 3
,
lft
будет равно 5
, rgt
будет равно 6
.
- Учитывая, что
id
записи равно 4
, lft
будет равно 7
,
rgt
будет равно 8
.
Таким образом, простые арифметические операции (например, с учетом значения id
) не будут легко учитывать значения lft
и rgt
.
Спасибо
Мэтт
[обновление]
Это MySQL 5.1.52
.