【问题标题】:database update query that updates all 1's with 0 and all 0's with 1用 0 更新所有 1 和用 1 更新所有 0 的数据库更新查询
【发布时间】:2018-07-28 20:38:04
【问题描述】:

我有以下详细信息:-

表名:测试

列名:data_reset

数据行明智:0,1,1,0,1,0,0

需要编写将所有 1 更新为 0 并将所有 0 更新为 1 的查询。 如果可以的话,也可以使用 hibernate JPA 提供相同的功能。

【问题讨论】:

    标签: database hibernate spring-data-jpa


    【解决方案1】:

    如果列值始终为 0 或 1,我们可以使用 按位异或运算符

    UPDATE test SET data_reset = (data_reset ^ 1);
    

    JPA 查询

    Query query = em.createQuery("UPDATE Test SET dataReset = (dataReset ^ 1)");
     int updateCount = em.executeUpdate();
    

    如果没有事务处于活动状态,则会引发 TransactionRequiredException。

    成功时 - executeUpdate 方法返回已被查询修改的对象数。 这里 em 是 EntityManager 对象。 更多参考请访问UPDATE SET Queries in JPA/JPQL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多