Java 由于某种原因,数据库未更新

Java 由于某种原因,数据库未更新,java,mysql,sql,Java,Mysql,Sql,此sql查询没有更新数据库,而是返回错误。有什么建议吗 PreparedStatement ps10 = con.prepareStatement("UPDATE payroll_system.payslip SET hours_worked = (SELECT SUM(Hours) FROM payroll_system.monthly_timesheet WHERE employeeID=?) WHERE employeeID=?");

此sql查询没有更新数据库,而是返回错误。有什么建议吗

                    PreparedStatement ps10 = con.prepareStatement("UPDATE payroll_system.payslip SET hours_worked = (SELECT SUM(Hours) FROM payroll_system.monthly_timesheet WHERE employeeID=?) WHERE employeeID=?");
                    ps10.setString(1, employee_id);
                    ps10.setString(2, employee_id);
                    ps10.executeUpdate();
每月时间表:

工资单表格:

最终你是在寻找更新吗

或使用

     "INSERT INTO payroll_system.payslip(expense_claims) 
      SELECT SUM(expense) FROM payroll_system.expense_mast"
更新

 PreparedStatement ps9 = con.prepareStatement("UPDATE payroll_system.payslip 
     SET expense_claims = (SELECT SUM(Expense) 
     FROM payroll_system.expense_master 
     WHERE employeeID=?) WHERE employeeID=?");

     ps9.setString(1, employee_id);
     ps9.setString(2, employee_id);
     ps9.executeUpdate();
最终你是在寻找更新吗

或使用

     "INSERT INTO payroll_system.payslip(expense_claims) 
      SELECT SUM(expense) FROM payroll_system.expense_mast"
更新

 PreparedStatement ps9 = con.prepareStatement("UPDATE payroll_system.payslip 
     SET expense_claims = (SELECT SUM(Expense) 
     FROM payroll_system.expense_master 
     WHERE employeeID=?) WHERE employeeID=?");

     ps9.setString(1, employee_id);
     ps9.setString(2, employee_id);
     ps9.executeUpdate();

那个
INSERT
语句根本不正确。您的
WHERE
子句必须位于
SELECT
语句之后
INSERT
语句根本不正确。您的
WHERE
子句必须位于您的
SELECT
语句之后。您能演示一下如何使用更新吗?:)使用where子句,这不太管用。它将expense_索赔中的每一行设置为expense_主表中所有行的总和。现在费用索赔列全部为959。您是否为EmployeedId为“?”指定了一个prper值。。或者更好地回答你的问题。。结果您能演示如何使用更新进行更新吗?:)使用where子句,这不太管用。它将expense_索赔中的每一行设置为expense_主表中所有行的总和。现在费用索赔列全部为959。您是否为EmployeedId为“?”指定了一个prper值。。或者更好地回答你的问题。。结果