Background Image

FORUM

조회 수 18072 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 이미 데이타가 들어가 있는 테이블에서 자동증가 컬럼을 하나 추가한뒤 조회를 해보니

 새로 추가한 자동증가 컬럼에 데이타가 NULL 이 되어 있습니다.

 추가한 자동증가 컬럼에 자동증가 숫자데이타가 들어가게 하려면 어떻게 하죠?
  • ?
    seongjoon 2010.02.27 04:00
    기존의 테이블에 auto_increament 속성을 가지는 column을 추가하게 되면, 기존의 데이터에서 추가된 column의 데이터에 NULL 값이 들어가게 됩니다.
    이러한 문제를 해결하기 위해서는 기존의 컬럼과 auto_increment 컬럼을 추가하여 새로운 테이블을 생성하시고 다시 데이터를 입력하셔야 됩니다.
    예를 들면,
    기존의 테이블 table_old가 create table table_old(col1 char); 이라면
    새로운 테이블 table_new를 create table table_new (col1 char, col2 int auto_INCREMENT); 와 같이 생성하고
    insert into table_new(col1) select col1 from table_old; 와 같은 쿼리문을 이용하여 데이터를 입력하시면 됩니다.
    그 후에, drop table table_old; 쿼리로 기존의 테이블을 삭제하시고, rename table table_new as table_old; 쿼리로 테이블의 이름을 변경하면 작업이 끝납니다.
  • ?
    남재우 2010.03.01 21:19
    안녕하세요.
    보다 간단한 방법을 알려드리겠습니다.
    자동증가는 내부적으로 serial 을 통해 관리하므로, 그 serial 값을 이용하여 update 하시면 됩니다. my_table에 i 라는 필드가 자동증가 속성을 가진다면 그 serial 은 my_table_ai_i 라는 이름을 가집니다. 그 serial 을 이용하여 업데이트 하면 됩니다.
    update my_table set i = my_table_ai_i.next_value
  • ?
    초보 2010.03.02 18:49
    nb_board 라는 테이블에  bo_id 라는 자동증가 컬럼 이라서
    update nb_board_info set bo_id = nb_board_info_ai_i_next_value 라고 쿼리를 날리니

    오류 설명:
    시멘틱: nb_board_info_ai_i_next_value 은(는) 정의되지 않았습니다.
    라는 오류가 났습니다.

    어떻게 하죠?
  • ?
    seongjoon 2010.03.02 19:55
    nb_board_info_ai_i_next_value 이 아니라nb_board_info_ai_i.next_value 입니다.
    i와 next 사이에 "_" 가 아니라 "." 입니다.
  • ?
    초보 2010.03.04 01:09 Files첨부 (1)
    이렇게 고쳐도 안되네요
  • ?
    cubebridge 2010.03.04 01:23
    먼저 올라온 덧글에 따르면 수정된 쿼리문은 아래와 같을 것 같습니다.
    update nb_board_comment set cm_id=nb_board_comment_ai_cm_id.next_value
    적색으로 표시된 부분은 자동증가가 일어나는 칼럼의 이름입니다. 첨부하신 내용에 따르면 아무런 연관이 없는 i를 넣으셨기 때문에 오류가 발생한 것입니다. 정확한 serial이름을 확인하기 위해서는 아래와 같이 수행해서 serial을 찾으시기 바랍니다.
    csql>select name from db_serial
    csql>;x
    CUBRID Manager에서도 확인이 가능합니다. 위의 결과로 나온 이름이 nb_board_comment_ai_cm_id와 일치할 것입니다. 
  • ?
    남재우 2010.03.04 08:09
    update nb_board_info set bo_id = nb_board_info_ai_bo_id.next_value
    와 같이 하시면 됩니다. 
    nb_board_info_ai_bo_id 에서 nb_board_info 는 테이블이름이며, bo_id 가 자동증가 속성을 가진 필드이름입니다. 가운데의 ai 는 자동증가인 auto increment 의 약자입니다. <테이블이름>_ai_<필드명> 이런식으로 시리얼개체가 만들어집니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4442
567 두 쿼리의 결과값을 빼려고 합니다. 2 지니보이 2010.03.09 15586
566 큐브리드 설치후, 실행오류 발생 2 챔프 2010.03.08 11230
565 단일 서버에서 복제구현이 가능한지? 3 핸프맨 2010.03.06 10147
564 IIS + PHP5 까지는 연동했습니다. 2 】赤【 2010.03.06 11876
563 뷰 테이블 편집 cascade 오류 1 초보 2010.03.06 11003
562 저장함수에 대하여 1 보리빵 2010.03.04 9854
561 시리얼 업데이트 오류 2 file 초보 2010.03.04 9843
560 큐브리드 데이타베이스 정지후 다시 데이타베이스 시작이 안됩니다. 1 file 초보 2010.03.03 10130
559 쿼리 문제 3 소라게 2010.03.03 9671
» 자동증가 컬럼수정후 자동증가값이 들어가게 하려면? 7 초보 2010.02.27 18072
557 데이타 입력쿼리 실행시 unique 삽입 오류 납니다. 1 file 초보 2010.02.26 13188
556 테이블 복구 1 mydream 2010.02.26 10544
555 mssql -> cubrid 데이터 이전시 문제 4 종이 2010.02.25 22651
554 Like 문이 의도하지 않은 결과값을 반환합니다. 3 이진혁 2010.02.25 12533
553 한글메세지 출력 방법에 대해서.. 4 모야 2010.02.25 12525
552 555번 한글테이블 글 올린 사람입니다 (화면캡쳐함) 1 유니콘 2010.02.23 11764
551 저장프로시저 함수-loadjava 3 쪼로롱 2010.02.23 15673
550 group by 오류 3 초보 2010.02.23 12513
549 테이블명을 한글로 할 수는 없나요? 3 유니콘 2010.02.22 13830
548 timestamp 필드 데이터를 다시 timestamp로 변환하기 1 byblog 2010.02.20 12652
Board Pagination Prev 1 ... 167 168 169 170 171 172 173 174 175 176 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales