ЕвгенийКравцов: 我用http后端和Android应用程序开发了一些小服务。最近我觉得这种系统缺乏知识。
案例: - 客户在应用程序中下订单并向服务器发送请求 - 服务器成功收到数据并为订单创建数据库行 - 数据库工作完成后,后端尝试使用200个成功代码响应App。 - 应用程序用户遇到一些互联网连接问题,无法接收服务器响应。应用程序获取超时异常并通知用户,该订单未成功 - 一段时间后,用户设备上的互联网连接恢复,他发送另一个请求与同一个矿工。 - 后端再次收到此信息并为之前的订单创建重复
所以我在数据库中获得了2个订单,但是用户只想创建一个。
问题:我如何防止这种行为?
答案 0 :(得分:0)
您应该在数据库中向表中添加一个键,例如将键定义为user_id, type
的复合键 - 因此特定用户不能使用相同的订单类型生成2个订单。
这将导致第二个db插入失败。