-1

私はいくつかのMysqlを学んでおり、この質問があります:私のデータベースでは、誰かがカートにアイテムを入れると、「予約済み」状態になります。ただし、その人が次の 30 分以内にチェックアウトしない場合は、アイテムを再び「無料」に設定する必要があります。CRONを使わずに作ることはできますか?またはいくつかの軽量ソリューション....

ありがとうございました!:)

4

1 に答える 1

0

1つの方法は、予約を特定の時間に設定することです。たとえば、次のようになります。

update `item` set `reserved` = 1, `reservedto` = ADDTIME(NOW(),'00:30') where `id` = ?;

次に、利用可能なアイテムをチェックする前に(または、それが頻繁に発生する場合は別の場所で)、次のような現実的なステートメントを追加します。

update `item` set `reserved` = 0 where `reservedto` < NOW() and `reserved` = 1;

大きなテーブルがある場合は、reservedto列にインデックスを付けることができます。

于 2013-02-14T11:55:03.307 に答える