1

mysql でテーブルを作成するときに「有効期限」の時刻または日付を設定できるかどうか疑問に思っています。

たとえば、テーブルが作成され、2 時間で期限切れ/自動削除されるとします。その趣旨の何か。グーグルは何の答えも出していないので、おそらく私が望んでいるほど単純ではありません.

必要: カート機能を備えたサイトを作成しています。サインインしていない場合、ユーザーはアイテムをカートに追加できます。この情報は一時テーブルに保存され、ログインすると特定のユーザー テーブルまたは注文に移行されます。ユーザーがサインインしたり、注文を完了したりせず、サイトを永久に離れるとします。そうすれば、たくさんの一時テーブルが散らかってしまうことはありません。

4

2 に答える 2

4

それは間違っている!スキーマを動的に変更すると、ほとんどの場合エラーになります。テーブルではなく、行を追加および削除する必要があります。

すべての注文を同じテーブルに入れ、タイムスタンプを付けるだけです。注文ステータスのフィールドを作成し、完了していない注文を で削除するDELETE ... WHERE status='not completed' AND timefield < DATE_SUB(NOW(), INTERVAL 2 HOUR)か、一時注文を完了注文とは別のテーブルに入れることができますが、すべての一時注文は同じテーブルに移動する必要があります。

于 2012-06-23T00:29:08.893 に答える
0

Q: mysql でテーブルを作成するときに「有効期限」の時刻または日付を設定できるかどうか疑問に思っています。

A: 「追加された」時刻または日付を設定し、バッチ ジョブを実行して「有効期限」時刻より古いすべてのアイテムをクエリし、適切なアクションを実行するのは簡単です。たぶん、削除します。おそらく、リマインダーを電子メールで送信します。おそらく、レポートを生成して削除します-何でも。

于 2012-06-23T00:30:51.813 に答える