2016-06-15 16 views
0

MySQLのイベントスケジューラは、このようなものです:私の問題を解決するために、任意の解決策は、mysqlイベントスケジューラで2つの更新クエリを実行するには?

Error Code: 1064 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7 

CREATE EVENT update_status 
    ON SCHEDULE EVERY 2 MINUTE 
    DO 
    BEGIN 
    UPDATE customer_group 
    SET is_status = 0 
    WHERE CURRENT_TIMESTAMP BETWEEN start_date AND end_date; 
    UPDATE customer_group 
    SET is_status = 1 
    WHERE CURRENT_TIMESTAMP NOT BETWEEN start_date AND end_date; 
    END 

私はスクリプトを実行すると、このようなエラーが存在していますか?

+1

これは、私が以前の質問でデリミタで囲んだ理由です。 – Drew

+0

@Drew、ありがとうございました –

答えて

1

これを試してみてくださいありがとうございました:

DELIMITER $$ 
CREATE EVENT update_status 
ON SCHEDULE 
    EVERY 2 MINUTE 
DO 
BEGIN 
    UPDATE 
     customer_group  
    SET 
     is_status = 0  
    WHERE 
     CURRENT_TIMESTAMP BETWEEN start_date AND end_date;  
    UPDATE 
     customer_group  
    SET 
     is_status = 1  
    WHERE 
     CURRENT_TIMESTAMP NOT BETWEEN start_date AND end_date; 
END $$ 
DELIMITER ; 
+0

ありがとうございました –

+0

私はあなたの助けが必要です。ここを見て:http://stackoverflow.com/questions/38175735/how-to-get-data-in-function-extend-controller –

0

あなたは、単一のアップデートでは、あなたのような動作(2アップデート)を行うことができます自体

以下のスクリプトを使用し

CREATE EVENT update_status 
ON SCHEDULE EVERY 2 MINUTE 
DO 
UPDATE customer_group 
SET is_status = (select case when CURRENT_TIMESTAMP BETWEEN start_date AND end_date then 0 else 1 end from customer_group limit 1); 

詳細はこちらhttp://www.mysqltutorial.org/mysql-triggers/working-mysql-scheduled-event/

+0

これは動作していないようです –

関連する問題