一条简单的数据库表的查询
逻辑删除和物理删除区别,如果使用逻辑删除删除,就是进行更新操作
<delete id="deleteByCollectNoAndUserId" >
update favorite_collect_record set yn = 1
where collect_unique_no =#{collectUniqueNo,jdbcType=VARCHAR} and customer_id =#{customerId,jdbcType=VARCHAR}
</delete>
看起来很简单的一个指令操作,不就是更新么,更新前怎么不提前判断 yn!=0 的情况呢?
设想一种简单的情况,当你需要执行这条指令,但是当时网络延迟,所以实际你操作了,但是没有得到反馈,如果你设置了之后所有操作都会给你返回0,操作失败,但是如果你不判断,即使网络延迟,你也不需要考虑!
还有一点,要明白你执行一条操作后,数据库给你返回的值的具体含义是什么!