2016-03-30 55 views
1

我試圖執行代碼,但是我一直在收到錯誤。可能是什麼問題。錯誤是:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL語法中有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在'key'VALUES('davis','0704254498','0704254498',now(),'希望您有美好的一天' 1將數據插入到數據庫表時出錯在java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

String sql = "INSERT INTO tWebServiceSms(username,mobile,sender_id,time_sent,message_payload,status,key) VALUES(?,?,?,now(),?,?,?)"; 
    PreparedStatement stmt = null; 
    try { 
     stmt = conn.prepareStatement(sql); 
     stmt.setString(1, webServiceSmsOut.getUsername()); 
     stmt.setString(2, webServiceSmsOut.getMobile()); 
     stmt.setString(3, webServiceSmsOut.getSenderId()); 
     stmt.setString(4, webServiceSmsOut.getMessage()); 
     stmt.setInt(5, 0); 
     stmt.setString(6, webServiceSmsOut.getKey()); 
     int affected = stmt.executeUpdate(); 
     return affected == 1; 
    } catch (SQLException e) { 
     Logger.getLogger(WebServiceSmsData.class.getName()).log(Level.SEVERE, "null", e); 
     return false; 
    } finally { 
     if (stmt != null) { 
      try { 
       stmt.close(); 
      } catch (SQLException ex) { 
       Logger.getLogger(WebServiceSmsData.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 
    } 

回答

1

因爲key是MySQL中的保留關鍵字您收到此錯誤,這可能更改名稱或使用反引號周圍,`key`。

1

key在MySQL中的保留字用來表示一個索引,如果你想用它作爲標識符名稱,那麼你需要用反引號(`)

相關問題