수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

java.sql.SQLException: ORA-00001: unique constraint () violated 오류인데요

초월

2023.04.01

pre도대체가 뭐가 문제인것인지... 에러가 나네요. 데이터베이스 에러라고 하는데 테이블 만든거에는 별 문제 없어보이는데 말이죠
저번에도 insert할때 중복오류가 계속 나서 기본키를 disable로 했다는..
그랬더니 데이터가 똑같은게 2개가 들어가버리고..
이 문제를 한큐에 해결 할 수 없을까요? 중복되었다고 하는거 같은데.기본키가 중복되있지 않습니다만..
그 전에 인서트시에도 왜 디비에 같은 값이 2개나 들어가는건지도 아직 못풀었고요.
create table re_board (
b_id number(5) primary key,
pwd varchar2(20) not null,
b_name varchar2(20) not null,
b_email varchar2(20) not null,
b_title varchar2(80) not null,
b_content varchar2(2000) not null,
b_date date default sysdate,
b_hit number(5) null,
b_ip varchar2(15) null,
ref number(5) null, step number(5) null, anslevel number(5) null
)
이런식으로 테이블 생성했는데요..
쓰기 게시판이고요string sql = select max(b_id), max(ref) from re_board;로 글번호, 참조번호 구하고
다시 sql = insert into re_board values(?,?,?,?,?,?,sysdate,?,?,?,?,?); 인서트로 업데이트해주는데요.
값넣고 빼기가 왜이리 안되는지 모르겠네요. 저 유니크 오류의 이유를 모르겠습니다. 알려주세요

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 이플

    내안의 나님.. 제가 글썼을때는 제가 샘님 아래였는데.. ㅋ 참고로 pstmt.setInt(1, b_id) 이걸 진작에 뺐는데도 안되네요. 제가 궁금한건 왜 마지막 11번째 levels가 안되냐는거에요. 그리고 바로 밑에 업데이트도 안먹고.. 계속 catch로 빠집니다.. 답답하네요..

  • 샤인

    샘님보다 늦었네; 몇초차이일까? ㅋㅋ

  • 움찬

    select sql : select max(b_id), max(ref) from re_board
    id : 1
    ref : 0
    ref : 1
    sql : insert into re_boardvalues(b_id.NEXTVAL,?,?,?,?,?,sysdate,?,?,?,?,?)
    1 : q
    2 : q
    3 : q
    4 : q
    5 : q
    6 : 0
    7 : 0
    8 : 127.0.0.1
    9 : 1
    10 : 0
    java.sql.SQLException: 부적합한 열 인덱스

  • 길가온

    제가 보기엔 pstmt.setInt(1, b_id)이것이 빠져야 한다고 생각합니다. 왜냐하면 오라클에서 b_id의 컬럼에 b_id.NEXTVAL을 통해 자동으로 넣어주기 때문이지요

    pstmt.setInt(1, b_id)를 지우시고 그 다음라인의 pstmt.setString(2, pwd)를 pstmt.setString(1, pwd)로 하나씩 줄여 변환시키신 후 executeUpdate해보심이 어떠신지요?

    그러시면 아마도 될거 같습니다만.. (안되면

  • good

    ? 표 갯수는 10개 인데..
    왜 prepareStatement 에 set 할때 11, 12 가 나오는거죠?
    ? 갯수랑랑 일치 해야 되는거 아닌가요?

  • 달달항사탕

    sql = \insert into rep_board values(b_id.nextval,?,?,?,?,?,sysdate,?,?,?,?,?)\;
    \t\tpstmt = con.prepareStatement(sql);
    pstmt.setInt(1, b_id);
    .
    .

  • 옆집오빠야

    음..제 생각에는....
    간단하게 해를 들어서 현재 id의 max값이 10 이라고 가정하겠습니다.
    1. A Thread max(id)의 값을 가져왔습니다.(값은 10이겠죠 ) id에 +1 을 해서 insert 하려는 시점에..
    2. B Thread가 치가 들오옵니다. max(id)의 값을 가져왔습니다.(값은 10이겠죠 )
    3. 이제 A Thread가 다시 insert 작업을 진행합니다..(값은 11이겠죠)
    4. B Thread도 값을 1증가후 작업을

  • 콩알녀

    b_id를 sequence로 고치고 insert와 select문을 고쳤는데 셀렉트문이 잘못된건지 (셀렉트는 별다르게 안고침) 열인덱스가 부적합하다고 나옵니다.\t
    \tString sql = \select max(b_id), max(ref) from rep_board \;
    \tpstmt = con.prepareStatement(sql);
    \t\trs = pstmt.executeQuery();
    \t\tif(rs.next()){
    \t\t\tb_id = rs.

  • 아잉누님

    다시 말씀 드리지만, 세션값으로 넣는건 많이 비추천입니다. 서버에 걸리는 과부하가 매우 크기 때문이죠.

    혹시나 해서 sequence 생성하는 것도 같이 알려드립니다.
    create sequence b_id increment by 1 start with 1;

    sequence를 만드신다면, insert와 select쿼리문도 각각 달라지겠죠

    역시 마찬가지로 허접한 팁입니다. 태클 마구마구 환영^^

  • 한봄찬

    저도 초보인지라 정확히는 알 수 없으나(틀리면.... 부끄부끄;), ORA-00001에러는 기본키(Primary Key)값이 중복되는 경우에 발생하는 에러라고 알고 있습니다. 기본키 값을 number로 설정하셨으니, 해당 키 값을 웹에서 넣어주는 방식이 아닌(웹에서 넣으면 중복되는 값이 들어갈 염려가 있죠), sequence로 처리하는 방법이 어떠신지요?
    아니면 해당 jsp페이지에서 세션값이나 hashmap을 사용하여 할당하는 방법도 있습니다만, 그건

번호 제 목 글쓴이 날짜
2700452 c언어에서... 자료형 구분.... (3) 시내 2025-07-05
2700422 버전에 관해 질문 라온제나 2025-07-04
2700393 mysql이 갑자기!!!!!!!!!!!!!!!에러가;; (2) 소미 2025-07-04
2700359 3.0 ) SimpleButton 상태 강제 변경 (3) 희선 2025-07-04
2700304 ie8 전용핵 문의 (3) 여자 2025-07-03
2700281 이런경우 어떻게 코딩해야 표준에 따르는건가요? (6) 늘솜 2025-07-03
2700230 질문이여 ! 뿡뿡몬 2025-07-03
2700205 액션스크립트책 좀 추천해주세요. (10) 화이트캣 2025-07-02
2700173 자바 소스인데 어떤게 에러인지..? (1) 호빵녀 2025-07-02
2700142 하단이 붙어있는 가변 레이아웃구조 질문드립니다. 이플 2025-07-02
2700089 이미지를 사다리꼴로 비틀게 하는 액션코드가 있나요? (4) 여름 2025-07-01
2700033 배경에 그라데이션을 넣으려고 하는데요.. (4) 화이티 2025-07-01
2700005 [질문] TextField 객체의 실제 높이 알아오는 방법 ? 천사의눈물 2025-07-01
2699978 FileReferenceList를 이용하여 업로드시 자꾸 실행속도가 느리다는 팝업이... (10) 데이비드 2025-06-30
2699944 자바스크립트가 많은 사이트는... (6) 희나리 2025-06-30
2699918 브라우저마다 다른 input과 텍스트 정렬 (3) 늘봄 2025-06-30
2699887 동적텍스트를 그래픽으로?? (2) 족장 2025-06-30
2699862 scope넣기 (1) 아인 2025-06-29
2699835 exe로 만드는 방법을....알려주세요.. (5) 방방 2025-06-29
2699809 롤오버할때 백그라운드 이미지로할때 alt설명은 어떻게해야하죠?..ㅠ (4) 반혈 2025-06-29
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com