USER 테이블에
main_position char(1)
sub_position char(1)
order int(4) 이렇게 3개의 필드가 있는데요...
insert 시킬때 동일한 main_position과 sub_position 이 존재하면 그 카운트를 먹여서 +1 한 값을 order 필드에 입력하고 싶습니다.
만약 테이블에
==================================
main_position sub_position, order
A A 1
==================================
요렇게 있고, 새로 입력하는 필드의 값이 main_position = 'A', sub_position='A' 일때
insert into USER (main_position, sub_position, order)
values ('A','A', select count(*) as count from USER where main_position = 'A' AND sub_position = 'A' 한 count값의 + 1 )
요렇게 하고 싶은데 어떻게 해야할까요?? 같은 테이블에서는 이게 불가능 할것 같기도 하고,
제가 쿼리를 못짜는건지 원래 안되는건지 자꾸 에러만 나네요....
order 값의 MAX + 1 을 입력하는것은 안됩니다. 데이터가 삭제 될수도 있거든요...
(order값이 1,2,3,4,5 이었다가 3이 빠져버리면 다음 order값이 5가 되어야 하는데 6이 되어버리는 현상..)
만약 불가능 하다면 먼저 count 값을 뽑아낸후에 insert 시 +1 해서 넣는방법밖에 없을까요???
|