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