0

|User_ID |Weekly_Score|Total_Score|

これは私のテーブルで、User_ID は主キーです。新しい週の始まりで Weekly_score の値を 0 に更新するクエリを作成するにはどうすればよいですか? (先週のスコアは 20 で、合計スコアは 50 です。新しい週の開始では、0 と 50 になるはずです。)

4

1 に答える 1

0

UPDATEステートメントでMySqlイベントを作成できます

CREATE EVENT ev_reset_weekly_scores
ON SCHEDULE EVERY 1 WEEK STARTS '2013-01-30 00:00:00' DO
  UPDATE scores
     SET Total_Score = Total_Score + Weekly_Score, 
         Weekly_Score = 0;

注:イベントの正しい開始日時を指定していることを確認してください。

SHOW PROCESSLISTイベント スケジューラが有効になっているかどうかを確認するために使用します。オンの場合、ユーザー「event_scheduler」によるプロセス「Daemon」が表示されます。SET GLOBAL event_scheduler = ON;現在有効になっていない場合に、スケジューラを有効にするために使用します。イベント スケジューラの構成の詳細については、こちらをご覧ください。

mysqlまたは、cron または Windows タスク スケジューラ (Windows を使用している場合) を使用して、CLIで update ステートメントを実行することもできます。

于 2013-06-27T05:41:54.500 に答える