본문 바로가기

#프로그래밍공부/1. 오류로그

[Oracle] ora-00904 : 부적합한 식별자 invalid identifier

 

 

 

 

오류 [Oracle] ora-00904 : 부적합한 식별자 invalid identifie

### The error may involve onbiz.dao.OnTaskDao.mytaskList-Inline
### The error occurred while setting parameters
### Cause: java.sql.SQLSyntaxErrorException: ORA-00904: "MEM1001": invalid identifier

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00904: "MEM1001": invalid identifier
}
org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00904: "MEM1001": invalid identifier

### The error may involve onbiz.dao.OnTaskDao.mytaskList-Inline
### The error occurred while setting parameters
### Cause: java.sql.SQLSyntaxErrorException: ORA-00904: "MEM1001": invalid identifier

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00904: "MEM1001": invalid identifier

 

 

 

 

 

 

 

 

 

 

분명 sql문으로 실행해서 결과를 확인했는데 계속 오류가 나서 

sql문이 잘 못 됐나.. 조인이 이게 아닌가 계속 확인했다 

그러다 자기전에 찾은 오타부분...

 

 

 

 

 

 

 

-- 잘못된 구문
<select id="mytaskList" resultMap="tpResult" parameterType="ontask">	
		SELECT op.pro_name, ot.*
		FROM ontask ot, onproject_member opm, onproject op
		WHERE opm.mem_no = ot.mem_no
		AND opm.pro_no = op.pro_no
		AND ot.mem_no = ${mem_no}
 </select>
 
 
 -- 옳은 구문
 <select id="mytaskList" resultMap="tpResult" parameterType="ontask">	
		SELECT op.pro_name, ot.*
		FROM ontask ot, onproject_member opm, onproject op
		WHERE opm.mem_no = ot.mem_no
		AND opm.pro_no = op.pro_no
		AND ot.mem_no = #{mem_no}
 </select>

 

 

mapper에서는 #{컬럼명}으로 작성해줘야한다..

바보같이 ${컬럼명}으로 작성해서 난 오류🤣😭

그래도 빨리 오류를 찾아서 다행이다..