“插入'键'(a,b,c,d,e)值(?,?,?,?,?)”中的SQL语法错误[关闭]
Posted
技术标签:
【中文标题】“插入\'键\'(a,b,c,d,e)值(?,?,?,?,?)”中的SQL语法错误[关闭]【英文标题】:SQL syntax error in "insert into 'keys'(a,b,c,d,e) values(?,?,?,?,?)" [closed]“插入'键'(a,b,c,d,e)值(?,?,?,?,?)”中的SQL语法错误[关闭] 【发布时间】:2015-09-04 20:23:48 【问题描述】: String requiredKeyword = request.getParameter("KeyWord");
String textBookCode = request.getParameter("BookCode");
String pageNumbers= request.getParameter("PageNumbers");
String definition = request.getParameter("Definition");
PrintWriter show = response.getWriter();
try
Class.forName("com.mysql.jdbc.Driver");
Connection dbConnection=DriverManager.getConnection("jdbc:mysql://localhost:3306/main_data","root","");
System.out.println(" Connection Created Successfully ");
PreparedStatement prepSt =(PreparedStatement) dbConnection.prepareStatement(" insert into 'keys'(requiredKeyword,noOfPages,textBookCode,pageNumbers,definition) values(?,?,?,?,?) ");
System.out.println(" Statement Prepared ");
int num=1,i=0;
prepSt.setString(1,requiredKeyword);
prepSt.setInt(2,num);
prepSt.setString(3,textBookCode);
prepSt.setString(4,pageNumbers);
prepSt.setString(5,definition);
try
i= prepSt.executeUpdate();
System.out.println(" Executed ");
catch(Exception e)
show.println(e);
if(i>0)
show.println(" Inserted Successfully ");
dbConnection.close();
catch (Exception e)
show.print(e);
ERROR : 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
''keys'(requiredKeyword,noOfPages,textBookCode,pageNumbers,definition) values('da' at line 1
【问题讨论】:
-1MySQLSyntaxErrorException
是由 MySQL 查询中的不正确语法引起的,这应该很明显。检查准备好的语句和生成的 SQL 的语法。
【参考方案1】:
您使用标准引号而不是反引号来转义 MySql 保留字 KEYS
。将表名更改为任何非保留字,以便可以删除引号。
【讨论】:
谢谢先生,现在已经完成了(Y)以上是关于“插入'键'(a,b,c,d,e)值(?,?,?,?,?)”中的SQL语法错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章