Java中的SQL更新语句

Rav*_*i77 1 java mysql

我试图使用Netbeans更新我的表中的字段,我有两个条件.更新声明如下:

String sql1 = "update tbl_log set Logout_Time =? where Firstname = ? and Check = ?";
        try{
            pst = conn.prepareStatement(sql1);
            pst.setString(1, time);
            pst.setString(2, username);
            pst.setString(3, "IN");
            pst.execute();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

com.mysql.jdbc.exceptions.jdbc4.MySQL SyntaxErrorException:SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'Check ='IN'附近使用正确的语法

我该如何解决?

小智 6

"Check"是一个保留字,所以你需要把它放在反引号中

将其更改为:

String sql1 = "update tbl_log set Logout_Time =? where Firstname = ? and `Check` = ?";
Run Code Online (Sandbox Code Playgroud)

有关保留字的列表,请参见此处:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html