我有一个带有下表的电子商务MySQL数据库:
**Product**
----------
productID - 1
categoryID - 1
productName - Cricket Bat
**prodOptions**
----------
optionID - 1
productID - 1
optionName - Bat Size
<PK>optionID - 2
<FK>productID - 1
optionName - Bat Weight
**optionValues**
----------
optionValuesID - 1
optionID - 1
optionValue - Small
optionValuesID - 1
optionID - 1
optionValue - Heavy
**orders**
----------
orderID - 1
custID - 1
**orderContent**
----------
orderID - 1
orderContentID - 1
prodID - 1
optionNameID - 1,2
optionValuesId - 1,2
如您所见,每个板球拍都有多种选择。如何在不连续输入两个或多个ID号的情况下将所有选项存储在订单内容表中?
最佳答案
在新的orderOptions表中添加,该表包含每个所选选项的行:
**orderOptions**
----------------
orderId - 1 optionId - 1 optionValue - 1
orderId - 1 optionId - 2 optionValue - 2
因此,orderId可以在此表中出现两次(或更多次)。 PK是orderId和optionId的组合。