0

劇場のチケット予約 Web サイトを作成しました (ユーザー -> 予約と支払い / 管理者 -> Web インターフェイスからの販売の管理)。mysql データベースのテーブルを使用してチケットを処理します。各列は特定の日であり、この日の各行は予約されている座席を知るためのブール値です (予約済みの場合は 1、無料の場合は 0)。しかし、私はこのシステムを改善し、ユーザーが現在オンラインで予約していて、まだ支払っていない (注文を確定した) ときに、他のユーザーが座席を予約できないようにするための 3 番目の状態を用意したいと考えていました。この 3 番目の状態 (たとえば -1) を限られた時間 (約 15 分) だけチケット テーブルに保存する方法はありますか?

前もって感謝します

4

1 に答える 1

1

onInsert/onUpdateでトリガーを使用しSLEEP(<seconds>)ます。

更新しました:

mysql> delimiter //
mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON tickets
    -> FOR EACH ROW
    -> BEGIN
    -> DO SLEEP(60000);
    -> UPDATE tickets SET status=1 WHERE id = NEW.id;
    -> END;
    -> //

トリガーはルートからのみ設定できることに注意してください。

于 2012-11-25T21:43:20.693 に答える