【sql】mysql数据库做两条数据替换的操作,不使用第三方变量

需求:

  1.将数据库中两条数据中的唯一约束列 做值的替换

原始思想:

  将两条数据查出来,在程序中设置第三方变量,进行两条数据的替换,然后将原始两条数据删除,将新的两条替换后的数据插入。

新思想:

  1》JPA查询出两条数据,此时还是持久化状态。

  2》(放置字段数据库唯一)将其中一条数据字段+“自定义字符串”,

  3》save(本条更改数据)

  4》flush(),此时已经将更改 同步到了数据库中

  5》然后将另一条数据更新,此时唯一约束就不存在了,因为上面已经将相同的值替换掉了

  6》最后将本条数据更新

优点:

  mysql如果做删除 再更新,会引起索引重置,会影响性能!

代码示例:

仅看4.代码段即可