0
모든 레코드를 이전 레코드 값에서 파생 된 값으로 업데이트해야하는 테이블이 있습니다. 및 rgt
의 값 ((되어야 (- 예 SQL 구문 : 이전 열 값의 값을 차지하는 UPDATE에 대한 열 값을 파생합니다.
id
,
lft
및
rgt
는, I는 (1)의
lft
) + 2 ((현재
id
)의 값으로
lft
필요 현재
id
-1)의
rgt
) + 2). 나는 소유 의미를 암시합니다
select lft where id=[current id-1]
및
select rgt where id=[current id-1]
적절한 SQL 구문으로 표현하는 방법은 무엇입니까?
- 가
lft
는3
에 동일한 것, 레코드의id
이2
감안할 때,rgt
는4
동일하다. - 이 는
lft
는5
동일한 것, 레코드의id
이3
입니다 감안할 때rgt
는6
동일하다. - 가
lft
는7
에 동일한 것, 레코드의id
는4
감안할 때,rgt
는8
동일하다. (예를 들어, 고려id
값 복용)
너무 단순 연산을 쉽게하고 lft
rgt
의 값을 고려하지 않을 것이다.
감사합니다,
매트
[업데이트]
이 MySQL 5.1.52
입니다.
수없는'UPDATE (T)를 lft = 2 * id - 1, rgt = 2 * id'로 충분합니까? – Benoit
몇 가지 샘플 데이터와 예상 결과를 게시 할 수 있습니까? – Taryn
가장 낮은 ID를 가진 레코드는 어떨까요? –