java - SQL更新语句不改变记录

标签 java sql syntax

我有一个sql更新语句,但我不明白为什么它不更新我的记录,它什么也没做,语法有什么问题吗?

    private static final String strUpdatePerson =
        "UPDATE APP.PERSON " +
        "SET FIRSTNAME = ?, " +
        "    LASTNAME = ?, " +
        "    ADDRESS = ?, " +
        "    PHONE = ?, " +
        "    EMAIL = ?, " +   
        "    INFO = ? " +
        "WHERE ID = ?";

这非常令人困惑,因为没有给出错误,它执行更新但没有更改数据库中的任何内容。

编辑:

这是正在执行的查询:

    stmtUpdateExistingRecord = dbConnection.prepareStatement(strUpdateCustomer);


    stmtUpdateExistingRecord.clearParameters();
        stmtUpdateExistingRecord.setString(1, record.firstName.toUpperCase());
        stmtUpdateExistingRecord.setString(2, record.lastName.toUpperCase());
        stmtUpdateExistingRecord.setString(3, record.Address);
        stmtUpdateExistingRecord.setString(4, record.phoneNumber);
        stmtUpdateExistingRecord.setString(5, record.email);
        stmtUpdateExistingRecord.setString(6, record.info);
        stmtUpdateExistingRecord.setInt(7, record.getID());
        stmtUpdateExistingRecord.executeUpdate();

最佳答案

您应该在executeUpdate()dbConnection.commit()之前调用dbConnection.setAutoCommit(true); 之后 executeUpdate()

如果 dbConnection.getAutoCommit() 返回 true,则您将遇到不同的错误。您确定它没有抛出 Exception 吗?

关于java - SQL更新语句不改变记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419642/

相关文章:

c - extern 关键字对 C 函数的影响

java - 优化数据库插入java

java - 这种在 Java 中创建对象的方法是否比这更好?

Java正则表达式: Need Simpler Solution

mysql - 在 Pentaho 报表设计器中使用参数生成 SQL 查询

sql - 使用 SQLPlus 在一个事务中运行 SQL 脚本

python - 输入错误 [] : findDistance() takes 0 positional arguments but 1 was given

excel-formula - 在 Google 表格公式中引用变量列值

c++ - 这个模板语法 "typename = T"是什么意思?

java - java中如何通过键盘输入写入文件?