我正在尝试检查我的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;
}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你有一个 SQL语法错误;查看与您的手册相对应的手册 MariaDB服务器版本,用于在'KEYS WHERE附近使用正确的语法 第1行的NETFLIX ='IPMAN'
答案 0 :(得分:9)
KEYS
是MySQL保留的关键字。因此,即使查询没有任何问题,您也可能会收到错误。
要么你要避免使用MySQL保留关键字,可以在
找到https://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
或
如果您不想更改现有表格,请为关键字使用适当的引号。像,
Select * from `KEYS` WHERE NETFLIX=?
注意:这不是单引号,它是一个符号,与转义符号位于转义符号下方(根据注释称为反引号)。< / p>