tbtest라는 테이블에 no라는 칼럼이 있습니다.
이 no라는 칼럼에는 순차적으로 1, 2, 3, 4, 5, 6 이렇게 값이 들어가 있는데...
이것을 SELECT 해 보면
select no from tbtest
no
--
1
2
4
5
3
6
이렇게 지멋대로 나온다고 가정하고 이때
update tbtest set no = no + 1
이렇게 업데이트를 하면
ERROR: Cannot insert a duplicate key into unique index tbtest_uniq
이런 에러가 납니다...
물론 이 no라는 칼럼은 unique로 선언되어있습니다.
지금 상황으로는 select시에 order by를 주어 이걸 순차적으로 가져온 다음
그 갯수만큼 update를 해주어야만 할것같은데...
이걸 쿼리 한방에 해결 할수는 없을까요??
|