database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1708 게시물 읽기
No. 1708
메일 발송 페이지를 만들어서 발송을 눌렀는데.............................
작성자
송광호(fantom019)
작성일
2004-12-20 14:47
조회수
3,081

발송을 누르면 이런 메시지가 뜹니다.

Insert into MailBox_1 (receiver, RegDate, Serial, sender, Title, Content, FileName, FileSize, sender
STATE,receiverSTATE, checkDate,SenderName,res_Serial) values (?,?,?,?,?,?,?,?,'N','N','N',?,?)

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]PRIMARY KEY 제약 조건 '
PK__MAILBOX_1__37661AB1'을(를) 위반했습니다. 'MAILBOX_1' 개체에 중복 키를 삽입할 수 없습니다.

테이블 구조는 아래와 갔습니다.

열이름 데이터형식 길이 Null허용
1 REGDATE char 19 0
2 RECEIVER varchar 15 0
2 SERIAL decimal 9 0
2 SENDER varchar 15 0
0 CHECKDATE char 19 1
0 CONTENT varchar 2000 1
0 TITLE varchar 100 1
0 FILENAME varchar 100 1
0 FILESIZE decimal 9 1
0 SENDERSTATE char 1 1
0 RECEIVERSTATE char 1 1
0 SENDERNAME varchar 50 1
0 RESPONSE varchar 2 1
0 RES_SERIAL decimal 9 1

이 글에 대한 댓글이 총 1건 있습니다.

기본키제약조건이 위반되기 때문에 생긴 에러네여..

기본키는 테이블내에서 유일해야하고 null이면 안되기 때문에 기본키가 같은 row를 새로 insert하려고 하거나, 기본키로 지정된 컬럼에 null을 insert하려거나, 기존의 row를 이미존재하는 기본키로 update하려고 하거나 할 때 이런 에러들이 많이 발생하겠죠.

제 생각에는 우선 테이블의 제약조건들을 살펴 보시구요

 

sp_help 테이블이름

 

 를 이용하셔서 어떤 컬럼들이 기본키인지를 확인합니다.그리고 나서 현재 insert하려고 하는 값들중에 기본키로 설정이 되어 있는 컬럼의 값이 기존의 디비에 존재하는지 쿼리를 해 보아야 겠지요. 해결방법이야 여러가지 있겠지만 하시고자 하는 작업에 따라 달라지니까 그건 님께서 판단하셔야겠지요.

디비야놀자님이 2004-12-21 17:36에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1711테이블의 컬럼명만 가져오기? [1]
또초~!
2004-12-21
3471
1710JTA 사용방법 좀 부탁드립니다!!
정기종
2004-12-20
2379
1709Function , Procedure 생성 [1]
김정옥
2004-12-20
4015
1708메일 발송 페이지를 만들어서 발송을 눌렀는데............................. [1]
송광호
2004-12-20
3081
1706Import/export정보 로그 보는 방법? [1]
???
2004-12-18
2902
1705Select 값을 Insert 하기 [2]
이오스
2004-12-17
2888
1704다음 에러의 해결책은 무었인가요? [1]
박진숙
2004-12-17
2531
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다