我的数据库代码有什么问题?

Ngo*_*ong 4 java

我正在尝试检查我的String键是否在NETFLIX列中.

public boolean checkSerial(String key){
    boolean isValid = false;
    sql = "Select * from KEYS WHERE NETFLIX=?";
    try{
        ps = con.prepareStatement(sql);
        ps.setString(1, key);
        rs = ps.executeQuery();
        if(rs.next())
            isValid = true;
    }catch(SQLException e){
        System.out.println(e);
    }
    return isValid;
}
Run Code Online (Sandbox Code Playgroud)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误; 检查与您的MariaDB服务器版本对应的手册,以便在第1行'KEYS WHERE NETFLIX ='IPMAN''附近使用正确的语法

The*_*der 9

KEYS是MySQL保留的关键字.因此,即使查询没有任何问题,您也可能会收到错误.

要么你要避免使用MySQL保留的关键字,可以在

https://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

要么

如果您不想更改现有表,请为关键字使用适当的引号.喜欢,

Select * from `KEYS` WHERE NETFLIX=?
Run Code Online (Sandbox Code Playgroud)

注意:它不是单引号,它是一个符号,与转义按钮下方的波形符号一起出现(根据注释称为反引号).

  • 该符号是[反引号](http://en.wikipedia.org/wiki/Grave_accent#Use_in_programming)或重音符号. (2认同)