개발 공부중

[DBeaver] There is no physical unique key defined for 해결 본문

ORACLE

[DBeaver] There is no physical unique key defined for 해결

개발자 leelee 2025. 3. 31. 23:45
문제상황

select한 화면에서 컬럼을 수정하려고 하는데, 

수정이 안되고 아래처럼 오류문구가 떴다.

 

There is no physical unique key defined for '테이블명' 

 

[Use All Columns] 버튼을 누르면 내가 수정하려는 데이터 외에 다른 데이터도 변경될 수 있어서

[취소] 버튼을 눌러줬다.

 

오류원인

수정하려는 해당 테이블에 기본키(primary key)나 고유키(unique key)가 정의되어 있지 않아서 생긴 오류.

값을 수정하거나 삭제할 때, 어떤 행을 기준으로 업데이트할지 디비버가 알 수 없어서 생긴 팝업창이다.

 

해결방법

1. 기본키 또는 고유키 설정하기 

=> 테이블 조건을 바꿀 수는 없었음

 

2. row조건만 잘 걸어서 수정하기

=> 다른 티스토리를 참고했는데 나의 경우에는 같은 오류 떴음

 

3. 뷰테이블 

=> 알고보니 원인은 뷰테이블

뷰테이블을 수정하고 있어서 생긴 오류였다.

조인 (join), 그룹핑(group by), 서브쿼리 등이 있으면 어떤 원본 테이블을 수정해야할지 디비버가 알 수 없다.

=> 원본 테이블을 찾아서 직접 수정해준다.

 

 

 

뷰테이블은 조회전용이라는 걸 기억하자

끝!

Comments