2013-04-08 4 views
3

나는 condition이라는 테이블을 가지고 있습니다. 나는 그 이름을 유지해야하지만 나는 명령을 실행할 때테이블 이름이 "조건"인 MySQLSyntaxErrorException

Query qb = em.createQuery("SELECT c FROM Condition c ") 

나는이 예외가 :

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition' at line 1 
at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
at com.mysql.jdbc.Util.getInstance(Util.java:386) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2683) 
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2144) 
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2310) 
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:931) 
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:607) 

내가 MySQL의 명령이라는 조건을 가지고 있음을 알고이 명령이 나를 던져 그 이유는 예외.

내 테이블을 조건으로 유지하는 양식이 있습니까? 그러면 다음 명령을 실행할 수 있습니까?

Query qb = em.createQuery("SELECT c FROM Condition c ") 

답변

4

CONDITION은 예약어입니다. 그것은 backticks를 사용하여 이스케이프해야합니다 :

SELECT c FROM `Condition` c 

당신이 식별자를 변경 예약 된 키워드 목록에없는 테이블의 이름을 변경할 수있는 기회가 있다면. 이것은 미래의 두통으로부터 당신을 피할 것입니다.

+3

[tag : mysql-error-1064]가이 질문에 어떻게 가치를 부여하는지 이해할 수 있습니까? – Kermit

+0

@FreshPrinceOfSO 1064는 mysql의 구문에 대한 코드입니다. 나는 당신이 그것을 안다는 것을 안다. 너의 질문은 또 뭐야? 검색어 태그? 태그를 선택 하시겠습니까? 그냥 물어봐. –

+1

사실 나는 그렇지 않습니다. 그러나 그것을 보았다. 비용에 관계없이, 그것은 질문에 가치를 추가하지 않습니다. [이 메타 토론] (http://meta.stackexchange.com/questions/99072/should-adding-redundant-but-related-tags-be-encouraged-or-discouraged)을 살펴보십시오. – Kermit

관련 문제