1. 오류 : jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column '(컬럼명)' in where clause is ambiguous
2. 오류 원인 : join문에서 동일한 이름의 컬럼이 2개이상 있어서 발생
(예시 : 오류 코드)
1
2
3
4
5
6
|
SELECT C.NO
, C.B_DATE AS cb_date
, C.E_DATE
, B.B_DATE AS bb_date
FROM CTABLE C LEFT JOIN BTABLE B ON C.NO = B.NO
ORDER BY B_DATE ASC, E_DATE ASC
|
cs |
CTABLE에도 B_DATE 컬럼이 있고 BTABLE에도 B_DATE가 있는데
ORDER BY에서 B_DATE가 어느 테이블의 컬럼인지 명시하지 않았다.
(예시 : 수정한 코드)
1
2
3
4
5
6
|
SELECT C.NO
, C.B_DATE AS cb_date
, C.E_DATE
, B.B_DATE AS bb_date
FROM CTABLE C LEFT JOIN BTABLE B ON C.NO = B.NO
ORDER BY C.B_DATE ASC, C.E_DATE ASC
|
cs |
B_DATE가 어느 테이블의 컬럼인지 명시했다.
* sql문을 작성할때는 join하는 table 사이에 동일한 컬럼이 없더라도 추후 컬럼이 추가될 수 있기 때문에
join문에서는 어느 테이블의 컬럼인지 정확히 명시해두어야 오류를 방지할 수 있다.
'개발' 카테고리의 다른 글
JSP | 홈페이지 주소 가져오기 (0) | 2020.07.31 |
---|---|
MySQL Workbench | return 데이터 수 제한 해제, 설정 (0) | 2020.07.30 |
Javascirpt | ESLint 설치, 사용 (0) | 2020.06.09 |
SVN | 새로 만든 폴더/파일 add, commit (0) | 2020.06.05 |
Eclipse | tip | 불필요한 띄어쓰기 삭제 (java 파일 용량 줄이기) (0) | 2020.06.04 |