我正在開發在線購物車系統,我有物品和item_options表。更新信息時插入新記錄?
每個物品可以有一個或多個選項,請參見下文。
項目表
- ITEM_ID(PK)
- ITEM_NAME
- ITEM_DESCRIPTION
注:商品價格都在item_options表
item_options表
- option_id(PK)
- ITEM_ID(FK)
- OPTION_NAME
- option_price
當顧客下了訂單,則數據將被添加到順序和ORDER_ITEMS表。
訂單表
- orders_id(PK)
- CUSTOMER_ID(FK)
- address_address_id
- date_purchased
- orders_status
- orders_date_finished
ORDER_ITEMS表
- orders_items_id(PK)
- orders_id(FK)
- ITEM_ID(FK)
- item_option_id(FK)
還有一個問題,如果員工更改價格,項目名稱或刪除項目..客戶發票將受到影響,因爲FK來自order_items wi將不再存在於項目表中。這有什麼解決辦法?
該解決方案如何:在items
和item_options
表中添加活動字段。當工作人員想要更改物品的價格或名稱時 - 只需將當前活動記錄變爲0(items.active
),然後插入一條新記錄和新信息,並激活成爲1.舊訂單仍指向正確的不活躍的條目。這是做這件事的好方法嗎?
將新信息插入到項目表中後,是否意味着我必須更新/更改item_id.item_options
表中的新PK ID?
謝謝。在關於數字2.即使我沒有改變選項名稱或價格...我需要獲得option_name和option_price的價值第一?然後用新的item_id插入到item_options中? – user622378 2011-04-24 14:06:43
是的,我相信你會需要,因爲這是現在與新的記錄(項目)鏈接。除非我不能正確理解你的問題... – judda 2011-04-24 14:12:45
我會重新解釋我的問題,只是爲了確保:)如果我只改變items.item_name和items.item_description的值..我仍然需要添加新的記錄item_options表,即使我沒有改變item_options.option_price的值? – user622378 2011-04-24 14:31:21