【问题标题】:Is it possible to delete a single row using JPA repository where the rows are not unique?是否可以使用行不唯一的 JPA 存储库删除单行?
【发布时间】:2020-08-12 00:09:07
【问题描述】:

这是一个糟糕的数据库设计。 该表如下,其中两列都是外键。该设计是由其他人创建的。 我知道这是违规行为,不应该这样做。我将更改实体。

+---------+---------------+
| cart_id |    item_id    |
+---------+---------------+
|       1 |             1 |
|       1 |             1 |
|       1 |             1 |
|       2 |             1 |
|       3 |             1 |
|       3 |             3 |
+---------+---------------+

更改之前,我只想知道在这种匹配结果很多的情况下,是否可以删除单行。

    @Query(value = "delete FROM cart_items where cart_id =:cartId AND item_id =:itemId", nativeQuery = true)
    @Transactional
    int deleteCartItem(long cartId, long itemId);

对于上面的查询,它会删除多条记录,我只想删除一条或一条。

【问题讨论】:

    标签: mysql spring-boot spring-data-jpa spring-data


    【解决方案1】:

    您可以尝试使用 SQL 的LIMIT 子句。对于您的情况,您可以在查询结束时使用LIMIT 1。它将删除结果集的第一行。

    希望这会有所帮助!

    【讨论】:

    • 是的,我刚刚检查过,它确实有效。将其标记为已接受。谢谢你的朋友。
    • 太棒了! :)
    猜你喜欢
    • 2020-06-24
    • 2020-03-22
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    相关资源
    最近更新 更多