[英]I can't find out what's wrong with my sql syntax
幫助。 我不知道為什么我不斷收到錯誤 java.sql:SQLSyntaxException; 您的 SQL 語法有錯誤,請查看與您的 MySQL 服務器版本相對應的手冊,以獲取正確的語法以使用接近 'by) 值('19'、'Bob'、'Marquez'.'Secretary'.... ..) 在第 1 行這是我的 sql 查詢代碼。
String value = lbl_emp.getText();
try{
String sql= "insert into thepayroll
(emp_id, first_name, last_name, job_title, basic_salary,
rate, overtime, overtime_hrs, "+
"a_vale, bonus, a_other, a_reason, total_allowance, sss,
pagibig, philhealth, d_vale, absence, d_other, " +
"d_reason, total_deduction, total_salary, by)
values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,'"+value+"')";
pst = conn.prepareStatement(sql);
pst.setString(1,txt_empid.getText());
pst.setString(2,txt_firstname.getText());
pst.setString(3,txt_lastname.getText());
pst.setString(4,txt_job.getText());
pst.setString(5,txt_salary.getText());
pst.setString(6,txt_drate.getText());
pst.setString(7,lbl_overtime.getText());
pst.setString(8,txt_overtime.getText());
pst.setString(9,lbl_avale.getText());
pst.setString(10,txt_bonus.getText());
pst.setString(11,txt_aother.getText());
pst.setString(12,txt_areason.getText());
pst.setString(13,lbl_atotal.getText());
pst.setString(14,txt_sss.getText());
pst.setString(15,txt_pagibig.getText());
pst.setString(16,txt_philhealth.getText());
pst.setString(17,txt_dvale.getText());
pst.setString(18,lbl_absence.getText());
pst.setString(19,lbl_dother.getText());
pst.setString(20,txt_dreason.getText());
pst.setString(21,lbl_dtotal.getText());
pst.setString(22,lbl_stotal.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Data is saved successfully");
} catch (Exception e){
JOptionPane.showMessageDialog(null,e);
} finally {
try{
rs.close();
pst.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
}
BY
是MySQL 中的保留關鍵字。 換句話說,它在 SQL 解析器中具有重要性,因此將其用作列標識符會使 MySQL 的解析器感到困惑。
要將保留關鍵字用作列標識符,您必須用反引號將其分隔:
INSERT INTO thepayroll (..., `by`) VALUES (...)
您需要對所有保留關鍵字執行此操作。 請參閱我上面給出的鏈接。 如果該文檔頁面中的關鍵字旁邊有“(R)”,則它是保留關鍵字,必須加以分隔。
另一種方法是將您的列命名為其他名稱,這樣它們就不會與任何保留關鍵字沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.