PA PB c 라는 컬럼이있습니다 ( PA,PB는 기본값)
2012 01 1
2012 97 2
2014 01 1
제가 원하는건 PA 조건이 2012이고 PB값을 03으로 바꾸고싶을때
프라이머리키 제약이걸리더군요
간단하게 설명드린거구요
지금 이러한 컬럼들 2000개정도를 수정해야되는데 어떻해해야할까여
Comment 3
-
Hisory
2014.07.11 15:09
-
등빛
2014.07.11 15:20
답변감사드립니다 첫번쨰 방법으로 시도해야될거같네요 일마감쪽 테이블이라 ,.. 마감끝나고 해보도록해야겠네요
이관을한다음에 데이터를 변경하고 pk를 원본으로 조정시키면 되는걸까여?
pk를 원본으로하면 중복되는값이있다고 뜨면서 안바뀌지않나여?
-
Hisory
2014.07.11 16:53
아 제가... 글을 약간 잘못이해했네여
PK 값을 수정하시는데 중복값이 걸리면 해당값은 PK 로 변경하실수 었습니다.
PK란 고유값입니다. 해당 조합이 해당 테이블내에서 유일해야된다는 이야기지여...
만약 중복값이 걸리지 않는다면 PK 값도 UPDATE는 가능합니다....
row 수가 많고 in/up이 안되는 환경에서는..
신규 테이블 생성 => 데이터 이관 => pk 조정 => table rename
단.. 위의 경우는 run 중일때는 해당 테이블 사용빈도가 높으면 문제가 될수 있으므로 꼭 트래픽이 없을때..
만약 테이블 양이 작고 db성능이 좋고 접속이 많이 않은 테이블은
pk 삭제 후 pk 제설정.....
개인적인 경험으로는 첫번째방법을 추천합니다.
또다른 고수님은 다른방법이 있을수 있습니다. ^^