首页 > 解决方案 > 无法将值更新到数据库中的表

问题描述

我正在使用 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 值,但怎么会发生这种情况?

标签: javamysql

解决方案


推荐阅读