首页 > 创建订单请求去重

创建订单请求去重

 系统中接收到创建订单的请求时就会根据订单号向数据库中插入一条记录。有时候会接收到重复的创建订单的请求,当两个请求几乎同时到达时候,就会同时向数据库插入订单记录,导致数据库抛出异常。
请问有什么办法可以避免数据库抛出主键重复的异常吗?
 
 
  


楼主的源头是不是搞错了,数据库是最后的屏障。楼主应该去考虑的是

  1. 为什么会产生重复的订单(生成订单ID的策略有问题还是其它原因)

  2. 这种重复的订单是否是有实际意义的,如果有意义的话参考1,如果没有意义参考3

  3. 如果产生的订单是因为用户多次重复提交订单,那么考虑提交订单完成以后把按钮灰显就OK了


当系统抛出主键重复异常时,不正说明当前正在插入的为重复订单而应该被抛弃吗?

【热门文章】
【热门文章】