ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Oracle] ORA-00918: column ambiguously defined
    삽질들/DB관련 2014. 4. 14. 19:07

    원인: 예를 들어 A테이블과  B테이블을 조인시 A와 B테이블간에 같은 이름의 컬럼이 들어있으면, 어떤 컬럼을 가져와야 될지 몰라서 생기는 에러이다.

    A테이블에도 memberId가 있고, B테이블에도 memberId가 있는데 sql쿼리문에 그냥 memberId라고 선언하면 뜬다.


    따라서 중복되는 컬럼명이 없는지, from절에 주는 테이블 명이 중복되지 않았는지 일단 살펴보자.

     

    조인후 *로 가져올때 에러가 날 수 도 있다. 같은 필드명이 있을 수도 있기 때문!!!


    해결 방법

       1. 테이블명이 중복된 경우 → 테이블명을 다르게 명시해준다.

       2. 컬럼명이 중복된 경우 → 중복되는 컬럼명에 Alias로 다른 이름을 부여해준다. (ex> membeId as mID)


    이유가 뭔지 몰랐지만, 찾았으니 다행!!>_<


     

    '삽질들 > DB관련' 카테고리의 다른 글

    [ibatis]에러 : com.ibatis.common.beans.ProbeException  (0) 2014.05.15
    DB정보 고치고 빌드하자.  (0) 2014.03.21
Designed by Tistory.