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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 122
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4476
1002 SQLGate Developer 업데이트 후 오류 1 문태환 2021.11.15 169
1001 SQL 행, 10분이상 지연 시 해제 및 설정 방법 문의 드립니다 2 kdman 2023.12.06 108
1000 SQL 쿼리 속도문제 1 칭칭이 2013.10.17 10314
999 SQL 질문 1 삼월토끼 2014.05.12 6957
998 SQL 인라인뷰 응답속도 개선 문의 6 knight 2013.12.07 13270
997 SQL 에러 질문 1 카르마 2010.10.16 9958
996 SQL 에러 문의드립니다. 1 k.. 2012.08.04 15537
995 SQL 에러 문의 드립니다. 1 호랑이새끼 2011.05.19 15402
994 SQL statement violated NOT NULL constraint 1 yoo 2023.03.15 166
993 SPRING BOOT 2.X 버전연동 시 문제 1 딩구징구 2019.02.15 1484
992 SET, MULTISET, LIST과 같은 컬렉션 타입 컬럼에 저장된 원소의 갯수를 알고 싶습니다. 1 새옹지마 2023.01.06 133
991 SET SYSTEM PARAMETERS 질문 입니다. 2 phil 2013.10.20 7870
990 SELECT 쿼리 실행시 오류문제입니다. 1 file 니코로빈 2011.02.24 9708
989 SELECT 전체 갯수에 대해 질문 드리겠습니다. 1 훈입니다. 2020.04.17 263
988 SELECT 실행 버그 보냅니다 1 file 취우다 2016.06.30 9351
987 SELECT 시, 필드 값의 대소문자 구분 없이 조건 검색 가능할까요? 2 차오이 2011.04.02 16381
986 SELECT 시 INDEX 를 타고 안타는 차이점 ? 2 Rega 2020.12.17 396
985 SELECT FETCH 문제 3 초보123 2018.03.07 552
984 SAP Connection 관련 질문입니다. 1 chuci 2019.01.09 196
983 Rocky Linux 9에 큐브리드 9.3버전 설치 3 범이 2023.12.19 100
Board Pagination Prev 1 ... 146 147 148 149 150 151 152 153 154 155 ... 201 Next
/ 201

Contact Cubrid

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