sql >> データベース >  >> RDS >> Mysql

データベースローカルホストでmysqlイベントスケジュールが機能しないのはなぜですか?

    以下を調べてください。

    select CURRENT_TIMESTAMP;を発行します または

    select count(*) as theCount
    from customer_group
    where is_status=1 and CURRENT_TIMESTAMP >= end_date;
    

    言い換えれば、いくつかの偵察を行います。イベントにはユーザーインターフェイスがないため、イベントはサイレントに成功または失敗します。

    次のようなコマンドを実行します:

    show variables where variable_name='event_scheduler';
    

    -現在オフ(またはオンになっている可能性があります)

    作成時にイベントの開始時刻を指定し、ON COMPLETION PRESERVEを指定します

    など
    drop event if exists `Every_5_Minutes_QuestionUpdateImport`;
    DELIMITER $$
    CREATE EVENT `Every_5_Minutes_QuestionUpdateImport`
      ON SCHEDULE EVERY 5 MINUTE STARTS '2015-09-01 00:00:00'
      ON COMPLETION PRESERVE
    DO BEGIN
        --
        -- all your statements go here
        -- 
    END$$
    DELIMITER ;
    

    イベントハンドラーをオンにします:

    SET GLOBAL event_scheduler = ON;  -- turn her on and confirm below
    

    確認してください:

    show variables where variable_name='event_scheduler';
    

    特定のデータベース内のすべてのイベントのステータスをデータベース名で調べます:

    show events from stackoverflow; -- note stackoverflow is my database name 
    

    現在選択されているデータベースで特定のイベントを名前で無効または有効にします:

    ALTER EVENT Every_2_Minutes_QuestionUpdateImport disable;
    ALTER EVENT Every_2_Minutes_QuestionUpdateImport enable;
    

    最後になりましたが、新しいイベントを作成するときは、常に最初にイベントステートメントを追加して、ログテーブルにログを記録します(挿入ステートメントとnow()の日時を使用します。 )。そうすれば、それが起動し、あなたのようなwhere句のデータが、全体について間違った読み方をしていない可能性があることを私は知っています。

    そして、私はあちこちで夢中になっていることを意味します。最初は、後で削除します:

        set filename:=concat('c:\\datavault\\stackoverflow\\app01\\batches\\processMe_',LPAD(@idToPerform, 8, '0'),'.txt');
        set logMsg:=concat("It would appear I am to process this thing: ",filename);
    
        insert EvtsLog(incarnationId,evtName,step,debugMsg,dtWhenLogged)
        select incarnationId,evtAlias,10,logMsg,now(); -- 10: some step somewhere in the middle
    

    すべての実用的な目的のために覚えておいてください(おそらくあなたがあなたの質問から本当に気にかけているあなたのテーブルを除いて)...そのEvtsLog 私のは、イベントプログラマーおよび親友としての唯一のユーザーインターフェイスです。

    ON COMPLETION PRESERVE > と同様に他のものを意味します。




    1. 制限付きのDjangoprefetch_related

    2. 動作する配列であるストアドプロシージャの出力パラメータを取得するにはどうすればよいですか?

    3. MySQLで指定された位置にあるリストアイテムを見つける方法

    4. Oracle SQL Developerでジョブをスケジュールする方法は?