SQL 쿼리 :SQL 쿼리는 MySQL의 워크 벤치에서 실행하지만 해당하지 생산
SELECT COUNT(suggestedfood.id) AS num_same, suggestedfood.place_id FROM suggestedfood WHERE suggestedfood.group_id=? AND suggestedfood.selected=? AND suggestedfood.removed=? GROUP BY suggestedfood.place_id LIMIT 1
이 쿼리는 MySQL의 워크 벤치 내에서 실행 할 수 있지만 생산에서이 오류가 발생합니다 :
을 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 '? AND suggestedfood.selected=? AND suggestedfood.removed=? GROUP BY suggestedfoo' at line 1
MySQL Error code: 1064
MySQL State: 42000
MySQL 서버가 AWS RDS에 있습니다. 도움이된다면 SQL 쿼리를 실행하는 코드는 Glassfish의 Java 컨테이너입니다. 또한 다른 많은 쿼리를 실행할 수 있습니다.이 쿼리는 문제를 일으 킵니다.
누구든지 내 간단한 실수를 지적하면 위대 할 것입니다. 또는이 문제를 더 잘 진단 할 수있는 방법을 아는 사람이라면 대단히 감사하겠습니다. group_id is a long
long numSame = 0L;
String count = "SELECT COUNT(" + SUGGESTEDFOOD_ID + ") AS num_same, "
+ SUGGESTEDFOOD_PLACEID + " FROM " + SUGGESTEDFOOD
+ " WHERE " + SUGGESTEDFOOD_GROUP_ID + "=? AND "
+ SUGGESTEDFOOD_SELECTED + "=? AND "
+ SUGGESTEDFOOD_REMOVED + "=? "
+ "GROUP BY "
+ SUGGESTEDFOOD_PLACEID + " LIMIT 1";
PreparedStatement ps = conn.connection.prepareStatement(count);
ps.setLong(1, group_id);
ps.setBoolean(2, true);
ps.setBoolean(3, false);
/* Line 607 */ ResultSet rs = ps.executeQuery(count);
while (rs.next()) {
numSame = rs.getLong("num_same");
}
요청으로
편집, 여기에 여기에 전체 스택 추적입니다, 내 자바 코드 :
com.mysql.jdbc.exceptions.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 '? AND suggestedfood.selected=? AND suggestedfood.Removed=? GROUP BY suggestedfoo' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3206)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232)
at com.cow10.endpoints.FoodSessionHandler.togglePlace(FoodSessionHandler.java:607)
at com.cow10.endpoints.FoodSessionHandler$Proxy$_$$_WeldClientProxy.togglePlace(Unknown Source)
at com.cow10.endpoints.FoodWebSocket.handleMessage(FoodWebSocket.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.tyrus.core.AnnotatedEndpoint.callMethod(AnnotatedEndpoint.java:477)
at org.glassfish.tyrus.core.AnnotatedEndpoint.access$100(AnnotatedEndpoint.java:87)
at org.glassfish.tyrus.core.AnnotatedEndpoint$WholeHandler$1.onMessage(AnnotatedEndpoint.java:573)
at org.glassfish.tyrus.core.TyrusSession.notifyMessageHandlers(TyrusSession.java:542)
at org.glassfish.tyrus.core.TyrusEndpointWrapper.onMessage(TyrusEndpointWrapper.java:748)
at org.glassfish.tyrus.core.TyrusWebSocket.onMessage(TyrusWebSocket.java:200)
at org.glassfish.tyrus.core.frame.TextFrame.respond(TextFrame.java:135)
at org.glassfish.tyrus.core.ProtocolHandler.process(ProtocolHandler.java:622)
at org.glassfish.tyrus.core.TyrusWebSocketEngine$TyrusReadHandler.handle(TyrusWebSocketEngine.java:394)
at org.glassfish.tyrus.servlet.TyrusHttpUpgradeHandler.onDataAvailable(TyrusHttpUpgradeHandler.java:164)
at org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.processDataAvailable(InputBuffer.java:488)
at org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.onDataAvailable(InputBuffer.java:453)
at org.glassfish.grizzly.http.io.InputBuffer.invokeHandler(InputBuffer.java:1101)
at org.glassfish.grizzly.http.io.InputBuffer.invokeHandlerOnProperThread(InputBuffer.java:1092)
at org.glassfish.grizzly.http.io.InputBuffer.append(InputBuffer.java:975)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:271)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:748)]]
어디에서 매개 변수를 설정 했습니까? –
당신은 오류 코드를 잘못 실행했을 가능성이 큽니다. 즉 ** 자바 코드 **에 결함이 있습니다. 따라서 도움이 필요하면 1) 코드를 표시하고 2) 오류의 전체 스택 추적을 표시해야합니다. – Andreas