ホームページ >ウェブフロントエンド >htmlチュートリアル >com.mysql.jdbc.Exceptions.jdbc4.MySQLSyntaxErrorException: 'フィールド リスト'_html/css_WEB-ITnose の不明な列 ''
严重: サーブレット JSP の Servlet.service() が例外をスローしました
com.mysql.jdbc.Exceptions.jdbc4.MySQLSyntaxErrorException: 不明な列 '??????' 「フィールドリスト」内
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)で
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)で
sun.reflect.DelegatingConstructorAccessorImpl .newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)で
com.mysql.jdbc.Util.handleNewInstance(Util.java:406)で
com.mysql.jdbc.Util.getInstance(Util. java:381)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
com.mysql.jdbc.MysqlIO で。 checkErrorPacket(MysqlIO.java:3491)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
com mysql。 jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536) で
com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564) ででcom.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485)
org.apache.jsp.insert_jsp._jspService(insert_jsp.java:100) で
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase. java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)で
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)で
org.apache.jasperで。 servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) で
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)で
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)で
org.apache.catalina.coreで。 StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) で
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)で
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)で
org.apache.catalina.connectorで。 CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:891)
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler process(Http11NioProtocol.java: 750)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2282)で
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)で
javaで。 util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:619) で
------解决方案------ --------------
この错很简单
从この代码可見出 : String sql="INSERT INTO STUDENT VALUES("+id+","+name+")";
如果我的 id=1,name=adf 那么組合成的字符直是
INSERT INTO STUDENT VALUES(1,adf ) 你可以尝试去这句SQL,肯定会报错
正确的写法应该是 INSERT INTO STUDENT VALUES(1) ,'adf' ); -- 数字の種類は追加引号を使用しないでください
所以
应该是 String sql="INSERT INTO STUDENT VALUES("+id+",'"+name+"')";
-----解决方案---------------------
遇见这种数据库语句的问题,考虑到语句有字列的拼接,你可
System.out.print(sql); を使用して事前に会話を出力すると、問題なく簡単に公開されます。