반응형

@notepad_jj2

츄르사려고 코딩하는집사입니다.


JDBC-8056:Invalid number of columns in query. 해결 방법

 

JDBC-8056:Invalid number of columns in query. 이 문제는 2개의 SELECT 문을 UNION ALL을 했을 때 발생했다. 

 

UNION ALL을 하게 되면, 각 SELECT 절의 컬럼의 갯수와 타입이 맞아야 한다.

 

그래서, 쿼리를 봤는데 SELECT 절의 컬럼의 갯수가 맞지 않아 발생했다.

 

<select id="TEST" parameterType="hashmap" resultType="DataMap">
	SELECT ST.NO AS NO
	       ST.NAME AS NAME
      FROM STUDENT ST
	UNION ALL 
	SELECT TR.NO AS NO
           TR.NAME AS NAME
      FROM TEACHER TR
</select>

컬럼의 갯수를 맞춰줘야 하고, 컬럼의 타입 또한 맞춰야 한다.

즉, VARCHAR은 VARCHAR로 컬럼의 타입을 맞춰야 한다.

 

위의 코드처럼, UNION ALL 할 때에는 꼭 컬럼의 갯수와 컬럼의 타입을 맞춰줘야 한다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기