“插入'键'(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

【问题讨论】:

-1 MySQLSyntaxErrorException 是由 MySQL 查询中的不正确语法引起的,这应该很明显。检查准备好的语句和生成的 SQL 的语法。 【参考方案1】:

您使用标准引号而不是反引号来转义 MySql 保留字 KEYS。将表名更改为任何非保留字,以便可以删除引号。

【讨论】:

谢谢先生,现在已经完成了(Y)

以上是关于“插入'键'(a,b,c,d,e)值(?,?,?,?,?)”中的SQL语法错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章