我正在使用ajax将一些值传递给函数来更新MySQL中的表。功能非常简单且简短,如下所示:
public void insert_update(String nodeid,String ts,Date startdt,Date enddt,int enable) {
try {
String sql = "UPDATE urllink SET STARTDT=" + startdt
+ ",ENDDT=" + enddt
+ ",ENABLE=" + enable
+ " WHERE URL='f0=" + nodeid
+ "&ts=" + ts + "'";
em.createNativeQuery(sql).executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
当我执行代码时,它可以正常工作,但是我检查了我的数据库,它没有更新表中的值。因此,我尝试调试并获取SQL语句,因为那里似乎有很多参数。
这是正在传递的查询:
UPDATE urllink SET STARTDT=Tue Mar 26 00:00:00 SGT 2019,ENDDT=Sun Mar 31 00:00:00 SGT 2019,ENABLE=1 WHERE URL='f0=27484&ts=458a903bba97b49a485901165bb'
从外观上看,我没有发现任何错误,一切似乎都还可以。
我不知道为什么它没有更新到表中。
进一步检查似乎告诉我:
Error:No value specified for parameter 1
尽管我确实传递了nodeid值,所以这怎么可能发生?