iamjustacoder 2015-09-12 04:27 采纳率: 0%
浏览 5554

mysql mybatis 执行update 返回影响行数错误

文章内容在:http://www.oschina.net/question/1244507_250862

我就不再次编辑了

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 08:26
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能由多种原因引起。以下是一些常见的原因和解决方法:

    1. 没有设置事务:如果在执行更新操作之前没有开启事务,那么你可能会遇到update语句未提交的问题。
    try (Connection connection = dataSource.getConnection();
            Statement statement = connection.createStatement()) {
        String sql = "UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition";
        int affectedRows = statement.executeUpdate(sql);
    }
    
    1. 数据库连接问题:如果你的数据库连接有问题,例如连接池中的连接已经耗尽或者数据库服务器正在维护中,那么你将无法执行executeUpdate()方法。

    2. 数据表结构不正确:检查你的数据表是否有误。确保所有列名和值都符合预期。

    3. 语法错误:确保你的SQL查询是正确的,并且所有的拼写都是正确的。

    4. MySQL版本过旧:某些MySQL版本的executeUpdate()方法对特定类型的查询(比如INSERT, DELETE, UPDATE)支持不够完善。

    解决这些问题的方法如下:

    • 如果你使用的是JDBC驱动程序,请尝试添加setAutoCommit(false)来开启事务。
    • 确保数据库连接是有效的。
    • 检查你的SQL语句是否正确无误。
    • 检查MySQL版本,确保它支持executeUpdate()方法。
    • 使用IDE或工具自动修复语法错误。

    如果以上建议都不能解决问题,我建议查看MySQL日志文件以获取更多关于问题的信息。

    评论

报告相同问题?