오늘만 벌서 3번째 올리네요.
새로운 DB으로 바꾸는데 이렇게 많은 부분에서 허덕일 줄이야...
자동증가 컬럼을 두기 위해 다음과 같이 table을 생성했습니다.
CREATE TABLE GroupBuyPerson ( groupCode char(12) NOT NULL, seqNo numeric identity, memberID varchar(20) NOT NULL, joinNums numeric NOT NULL, joinDate char(8) NOT NULL, Primary key (groupCode, seqNo), )with identity_gap = 1
만약 seqNo가 mysql의 auto_increment속성으로 지정되었다고 하고 다음처럼 data를 넣으면
insert into GroupBuyPerson values ('111111111111', 'aaaa', 3, '20031201')
insert into GroupBuyPerson values ('111111111111', 'aaaa', 3, '20031201')
insert into GroupBuyPerson values ('111111111111', 'aaaa', 3, '20031201')
insert into GroupBuyPerson values ('111111111112', 'aaaa', 3, '20031201')
insert into GroupBuyPerson values ('111111111112', 'aaaa', 3, '20031201')
아래처럼 결과과 나옵니다.
'111111111111' 1 'aaaa' 3 '20031201'
'111111111111' 2 'aaaa' 3 '20031201'
'111111111111' 3 'aaaa' 3 '20031201'
'111111111112' 1 'aaaa' 3 '20031201'
'111111111112' 2 'aaaa' 3 '20031201'
그런데 sybase에서는 이렇게 나오더군요.
'111111111111' 1 'aaaa' 3 '20031201'
'111111111111' 2 'aaaa' 3 '20031201'
'111111111111' 3 'aaaa' 3 '20031201'
'111111111112' 4 'aaaa' 3 '20031201'
'111111111112' 5 'aaaa' 3 '20031201'
보시면 아시겠지만 한 컬럼(A)과 자동증가 컬럼(B)이 같이 PK로 잡혔을 경우, mysql에서는 A 컬럼에 새로운 값이 들어오면 B컬럼은 다시 1부터 시작하지만 sybase에서는 그냥 계속 증가한다는 겁니다.
sybase의 identity를 mysql의 auto_increment처럼 사용하고 싶은데, 어떻게 설정을 하면 좋을까요.
도움 부탁드립니다. |