트리 데이터 복사 시 0 0 391

by arz3390 [MySQL] [2020.07.12 00:56:35]


idx parentIdx name upperIdx oldIdx
1 1 1 0 null
2 1 1-1 1 null
3 1 2 0 null
4 1 2-1 3 null
5 1 2-2 3 null
6 1 2-3 3 null
7 1 2-3-1 6 null
8 1 2-3-2 6 null

 

위와 같은 형태의 테이블 구조이며 해당 테이블 내용을 복사하여 동일한 테이블에 데이터를 추가하고 싶습니다.

데이터 복사는 했으나 upperIdx값이 이전idx값을 참조하다보니 트리형태의 구조가 잡히지 않아 일괄로 update 하려고 합니다.

아래와 같이 쿼리문을 작성하여 시도하였으나 UPDATE하려는 테이블을 참조하고있어서 동작을 하지 않네요.

UPDATE A SET UPPERIDX = (SELECT * FROM (SELECT (SELECT IDX FROM A BB WHERE BB.UPPERIDX = AA.OLDIDX) FROM A AA WHERE IDX = 2) CC)

아래는 최종적으로 원하는 형태의 데이터 내용입니다.

idx parentIdx name upperIdx oldIdx
1 1 1 0 null
2 1 1-1 1 null
3 1 2 0 null
4 1 2-1 3 null
5 1 2-2 3 null
6 1 2-3 3 null
7 1 2-3-1 6 null
8 1 2-3-2 6 null
9 2 1 0 1
10 2 1-1 9 2
11 2 2 0 3
12 2 2-1 11 4
13 2 2-2 11 5
14 2 2-3 11 6
15 2 2-3-1 14 7
16 2 2-3-2 14 8
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입