Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mysql新手,查询抛出错误语法_Java_Mysql - Fatal编程技术网

Java mysql新手,查询抛出错误语法

Java mysql新手,查询抛出错误语法,java,mysql,Java,Mysql,我试图从我的Java应用程序中传递这个查询,但是它说我在更新行中有一个错误,但是我找不到什么是错误的?你能看出我做错了什么吗 int rs = st.executeUpdate("INSERT INTO timesheet (employeeID, statusCode, periodEndingDate, departmentCode, minutesMon,"+ "minutesTue, minutesWed, minutesThu, minutesFri, minu

我试图从我的Java应用程序中传递这个查询,但是它说我在更新行中有一个错误,但是我找不到什么是错误的?你能看出我做错了什么吗

int rs = st.executeUpdate("INSERT INTO timesheet (employeeID, statusCode, periodEndingDate, departmentCode, minutesMon,"+
            "minutesTue, minutesWed, minutesThu, minutesFri, minutesSat, minutesSun)"+
            " VALUES ('"+empID+"','"+statusCode+"','"+periodEndingDate+"','"+departmentCode+"','"+minutesMon+"','"+
             minutesTue+"','"+minutesWed+"','"+minutesThu+"','"+minutesFri+"','"+minutesSat+"','"+minutesSun+"')"+
             " ON DUPLICATE KEY UPDATE timesheet SET statusCode='"+statusCode+"', periodEndingDate='"+periodEndingDate+"', departmentCode='"+departmentCode+"',"+
            " minutesMon = '"+minutesMon+"', minutesTue='"+minutesTue+"', minutesWed='"+minutesWed+"', minutesThu='"+minutesThu+"', minutesFri='"+minutesFri+"',"+
            " minutesSat='"+minutesSat+"', minutesSun='"+minutesSun+"' WHERE periodEndingDate='"+periodEndingDate+"' AND employeeID='"+empID+"';");

在重复密钥更新时,不能将
WHERE
子句与
一起使用。它正在更新副本。
如果您在
(periodEndingDate,employeeID)
上有一个
唯一的
索引,则它已经在更新正确的行,而没有where子句。另外,在Update子句中丢失tablename和
集合


欢迎光临!另外,欢迎来到Stackoverflow。查看答案,如果答案有帮助,您可以点击分数下的绿色复选框进行投票或接受。