我已经建立了一个数据库:
slots(user_id,current_slots,old_slots,current_expiry,old_expiry);
credit_transfer(transfer_id, sender_id, receiver_id,date,num_slots);
history(history_id, reseller_id,transfer_id)
user_id来自用户表 sender_id和receiver_id是user_id的外键 reseller_id是用户表的外键
当用户购买新的时段时,其条目将记录在历史表中,并带有新的历史ID,即来自时隙表。
我面临的问题是当添加新的history_id时,即添加新的插槽时,具有先前历史ID的插槽也会更新。
如何更改设计,以便旧的历史ID行不会发生变化。
答案 0 :(得分:0)
最简单的方法是在userId上放置一个唯一的约束。这将确保您没有相同用户条目的重复项。
我不确定您目前使用的语言是什么,或者您是否正在使用存储过程。但无论如何,请检测重复/唯一约束异常并更新插槽计数或到期信息。