如何在用户应用促销代码时设计订单历史记录表

问题描述 投票:-1回答:2

我正在开发一个用户将订购产品的项目。现在在数据库中我创建了一个包含以下列的orders表:

orderId, phone, address, total, subtotal, orderstatus, userid

在这个项目中也会有促销代码系统。我想知道,如果用户已经应用了一些促销代码,那么我该如何存储这些数据呢?我的意思是如何保存xyz promo code is applied by some user的数据。我应该在订单详细信息表中添加另一列。但在这种情况下,我想知道如果我们将提供用户促销代码仅持续一段时间,例如3个月,那么仅仅三个月我应该添加另一列可能导致内存浪费。

mysql sql
2个回答
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.

0
投票

您可以添加映射表,而不是在订单表中添加新列。

表:order_promo_map列:order_id promo_id

但每当您检索数据时,都会有与之关联的加入成本。

© www.soinside.com 2019 - 2024. All rights reserved.