update tablename set state='1000000024' where posseq=:posseq1;
这个语句看上去没有什么问题。这条语句在交易失败时候才去执行。
昨天放到系统上面去执行了, 今天突然好多交易状态异常了。实际执行成功的,结果状态却是失败的。后来发现posseq不是主键,posseq=0的时候会有好多条数据。
“这就是一个很危险的update语句,条件唯一的主键”,这是我今天受到最大的教育。
哎,我不知道我是倒霉呢,还是庆幸。这个犯错成本太高了。
记下耻辱的一天,铭记这个低级错误。望各位引以为戒。