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
운영게시판
최근게시물
PostgreSQL Q&A 4345 게시물 읽기
No. 4345
[에러] 도와주세요. duplicate key into unique index
작성자
조현철(kreatist)
작성일
2002-09-20 19:07
조회수
1,752

Table "history"

 

uid integer not null default nextval('history_uid_seq'::text)

id character varying(20)

category character varying(20)

....

....

Indexes: history_id_idx

Primary key: history_pkey

 

 

이런식으로 테이블이 구성되어 있습니다.

그리고 php 스크립트에서 쿼리는 (echo 로 찍었더니)

 

INSERT INTO history (id,category,name) VALUES ('hunters', '54-781','조현철')

 

이라고 되어있습니다.

 

근데, Cannot insert a duplicate key into unique index history_pkey 라는 에러가 뜨는군요.

 

쿼리에는 아무 이상이 없는것 같아 위의 쿼리를 그대로 복사해서 텔넷으로 postgres 접속해서 똑같이 붙여넣기 해서 쿼리를 줘보니까, 아무 말 없이 잘 들어가네요.

"INSERT 845468 1" 이렇게 메세지가 나오면서요.

 

왜 직접 쿼리를 날리면 잘 들어가면서 웹상에서 날리면 안들어 가는거죠?

아니, 쿼리가 안들어가는게 아니라, 들어가서 에러가 난거죠?

 

혹시 조금이라도 아시는분 망설이지 마시고 조언 부탁합니다.

현재 사용하고 있는 postgreSQL 버전은 postgresql-7.2.1-5 이고 rpm으로 설치했습니다.(RedHat 7.3 설치시 php와 함께)

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

도움이 될지 모르겟지만 ..

 

insert 하면서 인덱스키가 중복된다고 하는건

history 테이블 자체에 unique 값에 같은 값이

들어갈려고 하는 경우와

또한가지는 history 테이블에는 값이 중복없이

들어가는데 인덱스 테이블에서 인덱스 키 값이

중복생성돼서 안되는 경우가 있습니다.

 

지금 상황은 두번째 인거 같구요.

 

간단하게 해결하는 방법은

 

reindex table history 하시면

기존 인덱스 무시하고 인덱스 키값을 새로 생성합니다.

 

 

그렇게 하시고 돌려 보세염.

캐노비안님이 2002-09-24 15:46에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4348현재 만들어진 sequence를 모두 볼려면. [2]
박기원
2002-09-24
961
4347postgre의 데이타베이스를 옮기려고하는데요.. [1]
김현수
2002-09-24
936
4346order by 에서 한글 정렬이 안됩니다. [2]
오현수
2002-09-22
2283
4345[에러] 도와주세요. duplicate key into unique index [1]
조현철
2002-09-20
1752
4344Cast 연산자가 Varchar --> Date에는 error가... [1]
왕초보
2002-09-19
1745
4343column data type을 바꾸려고 하는데 기존의 데이타는 어떻게 하죠? [1]
왕초보
2002-09-18
1566
4342▶E-R Diagram (왕초보) [1]
이효진
2002-09-15
1323
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다