2016-10-22 12 views
0

私はイベントをトランザクションに使用するのが初めてです。私が必要とするのは、これらの2つのコードセットを組み合わせて古いデータを履歴テーブルに移動させることです。 コードに問題がありますか? 多くの異なる構文を試しましたが、エラーがあります: "SQL構文に誤りがあります。"履歴 "の近くで使用する正しい構文についてはMySQLサーバーのバージョンに対応するマニュアルを確認してください ONスケジュールはTIMESTAMP ' 2016年10月22日16時00' 分00秒1" 行目にDO START TRA」イベントでトランザクションを作成中にmysqlエラーが発生しました

DELIMITER !! 
CREATE EVENT 'History' 
ON SCHEDULE AT TIMESTAMP '2016-10-22 16:00:00' 
DO 
START TRANSACTION; 
set @N := (now()); 
INSERT INTO ss_log_history select * from ss_log where tid < date_sub(@N,INTERVAL 15 DAY); 
DELETE FROM ss_log WHERE tid < date_sub(@N,INTERVAL 15 DAY); 
COMMIT; 
END !! 
DELIMITER ; 
+0

ためDocumentationを参照してくださいする必要があります。ご存知の通り、エラーを見つけずに何時間もコードを主演することができます。そのため、私は丁寧に助けを求めます!その複製は同じ構文ではありません – user3260939

答えて

0

イベント名の前後に単一引用符'を削除します。それは

CREATE EVENT History 

、私はまだそれを得ることはありません詳細は

+0

次のエラーが発生します。私が言ったように、たくさん試しました – user3260939

+0

#1064 - SQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が 'set @N:=(now())'の近くで使用するようにしてください。 INSERT INTO ss_log_history select * from ss_log where tid <'at line 5 – user3260939

関連する問題