我正在一个项目中,用户将在其中订购产品。现在在数据库中,我用以下列创建了一个orders
表:
orderId, phone, address, total, subtotal, orderstatus, userid
在这个项目中,还将有促销代码系统。我想知道,如果用户应用了一些促销代码,那么我该如何存储这些数据?我的意思是如何保存xyz promo code is applied by some user
的数据。我是否应该在订单明细表中添加另一列。但是在这种情况下,我想知道如果我们仅在一段时间内(例如3个月)为用户提供促销代码,那么我是否应该在3个月内添加另一列,这会导致内存浪费
答案 0 :(得分:0)
you can add one more field in order table <order_date> old data is a necessary for past order which promo code used in past no memory wastage.
order_detail_promocode
----------------------
order table like one order
----------------------
orderId = 111
phone = 989898
address = testing
total = 2000
subtotal = 2020
orderstatus = 1
userid = 123
order_date = 2019-04-19 (this new column use for users promo code only for some duration like for 3 months you can check current date.)
order_detail_promocode (which users used prome code)
userid = 123
promo_code = xyz
order_id = 111
------------------
when user new order for xyz promo code check
promo_code && user_id if available inside the sub query and get the order_date and check like last 90 days.
答案 1 :(得分:0)
您可以像添加映射表一样在订单表中添加新列。
表:order_promo_map 列:order_id promo_id
但是,每当您检索数据时,都存在与之相关的加入费用。