2010-10-15 138 views
-3

我有一個給定的場景,用戶(我的客戶)想給即將到來的感謝給予季節的折扣。 (或)如果您購買超過$ X的金額,他有資格免費送貨。Mysql - 更改數據庫結構 - 數據庫場景

  1. 爲了實現上述場景,我們需要做的mysql數據庫 結構有什麼變化?
  2. 如何在查詢中實現它?
+0

當你沒有提供關於當前代碼或數據庫結構的單一線索時,我們無法告訴你如何更改*。 – 2010-10-15 06:49:12

回答

1

你還沒有確切地給了我們太多的信息去(如模式,例如),但它聽起來好像你有一個最低

  • 新列(S)的持有優惠 信息,可能是在自己的 表,通過外鍵
  • 某種邏輯(可能使用 觸發器)的參考,你的價格表 可跟蹤 總訂單金額,並設置一個標誌 相應

要實現這些,您將需要ALTER TABLE等命令來實現您的DDL。這些可以是腳本化的,或者如果您需要流控制邏輯(即只添加列,如果它們尚不存在),則必須將其打包到一個過程中(在MySQL中,只能使用 - if...else構造,如果從在程序中)。

0

這樣的場景並不適合在數據庫中。您當然可以將這些策略存儲在數據庫中,但實際將它們應用於相關查詢是一件非常痛苦的事情。最好留給客戶端邏輯。您不僅需要修改每個處理購物車的查詢,還必須讓他們瞭解時間/日期。銷售結束後會發生什麼?一個天真的系統只會將折扣設置爲0%,但突然之前所有的銷售都會失去免運費折扣。