2016-10-22 2 views
0

Ich bin neu zu verwenden Ereignisse und Transaktionen. Was ich brauche, ist diese beiden Sätze von Code zu kombinieren, was dazu führt, dass alte Daten in eine Verlaufstabelle verschoben werden. Was ist mit dem Code falsch? Erprobt viele verschiedene Syntaxen aber Fehler ist: "# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das entspricht Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe '' History ' ON SCHEDULE AT TIMESTAMP' 2016.10.22 16.00.00' DO START TRA‘at line 1"mysql Fehler beim Erstellen der Transaktion in Ereignis

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

sein Ich kann es immer noch nicht bekommen. Wie Sie wissen sollten, kann man den Code stundenlang anstarren, ohne den Fehler zu finden. Deshalb bitte ich höflich um Hilfe! Dieses Duplikat hat nicht dieselbe Syntax – user3260939

Antwort

0

das Apostroph ' um Ereignisnamen entfernen. Es sollte

CREATE EVENT History 

Documentation Weitere Informationen dazu finden

+0

Das gibt nächsten Fehler. Wie gesagt, habe viel probiert – user3260939

+0

# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version entspricht, um die richtige Syntax in der Nähe von 'set @N: = (now()); EINFÜGEN IN ss_log_history Wählen Sie * aus ss_log wobei tid <'in Zeile 5 – user3260939

Verwandte Themen