IBM DB2 사용시 아래와 같은 오류메시지를 만나는 경우 오류내용 확인하기
=================
unique constraint or unique index identified by "1" constrains table "schema.table_name" from having duplicate values for the index key..
SQLCODE=-803, SQLSTATE=23505
---
상단과 같은 메시지를 맞닥트리게 되는 경우 아래의 쿼리로 해당 내용을 확인하기 바람.
SELECT *
FROM SYSCAT.INDEXES
WHERE IID = 1
AND TABSCHEMA = 'schema'
AND TABNAME = 'table_name'
;
위의 쿼리결과의 COLNAMES, UNIQUERULE 컬럼의 내용을 확인한 뒤, 인덱스가 중복되는지 확인하는 쿼리를 사용하여 점검한다.
SELECT table_name의 컬럼들, count(*) as qty
from table_name
group by table_name의 컬럼들
having count(*) > 1
order by qty
;
위의 쿼리 결과에서 나오는 값은 중복된 인덱스를 가진 결과값이므로 해당 데이터를 보정해야 된다.
댓글 없음:
댓글 쓰기