Java 使用eclipse时出现MySQL语法错误

Java 使用eclipse时出现MySQL语法错误,java,mysql,apache,jdbc,Java,Mysql,Apache,Jdbc,我得到了这个错误 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL语法;检查与MySQL服务器版本对应的手册,了解 在第1行使用“从试题库中删除,其中ExamId='11117''附近的正确语法 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newIn

我得到了这个错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的
SQL语法;检查与MySQL服务器版本对应的手册,了解
在第1行使用“从试题库中删除,其中ExamId='11117''附近的正确语法
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:409)
位于com.mysql.jdbc.Util.getInstance(Util.java:384)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3566)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)上
位于com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
位于com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
位于com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
位于com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)
位于com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2409)
位于com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2327)
位于com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2312)
位于com.connect.security.RemoveExam.processRequest(RemoveExam.java:63)
位于com.connect.security.RemoveExam.doPost(RemoveExam.java:100)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
位于java.lang.Thread.run(未知源)
我的代码是:

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection(
        "jdbc:mysql://localhost:8080/oes;"

Statement st=(Statement) con.createStatement();
query="delete from Exam_List where ExamId ='"+examIdToRemove+"' ";
st.executeUpdate(query);
String sql="delete from Exam_Question_Bank where ExamId ='"+examIdToRemove+"'";
st.executeUpdate(sql);

ExamId可能是一个整数,您使用的语法是
ExamId='something'


这是一个错误。

String sql=“从试题库中删除,其中ExamId=”+examIdToRemove+”看起来正确,如果使用相同的代码,请再次检查代码。您的ExamId列是整数还是字符串?