爱吃鸡蛋的郑哈哈丶 2021-10-27 10:32 采纳率: 0%
浏览 86

update语句在数据库中手动执行数据生效,在idea中运行提示受影响的行数也对,但是数据库中对应数据却未修改


StringBuffer sb = new StringBuffer();
        sb.append(" UPDATE TABLE p1 SET p1.NUMBER = (");
        sb.append("    SELECT V.NUMBER FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY p.PID ORDER BY ID ASC ) NUMBER , p.ID FROM TABLE  p) V");
        sb.append(" WHERE V.ID = p1.ID) WHERE EXISTS ( SELECT p.PID, p.ID, ROW_NUMBER() OVER (PARTITION BY p.PID ORDER BY ID ASC ) NUMBER FROM TABLE  p");
        sb.append(" WHERE p.ID = p1.ID) AND PID = :PID ; COMMIT;");
        Query query = this.getEntityManager().createNativeQuery(sb.toString());
        query.setParameter("PID", id);
        int num = query.executeUpdate();
        System.out.println("==================================sql执行完毕 Test=======受影响的行数为:" + num);
  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2021-10-27 10:34
    关注

    有没有取消自动提交模式。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月27日