2016-04-08 7 views
2

My SQL-Skript ist wie folgt:Wie zu löschen und in mysql Event Scheduler ändern?

CREATE 
EVENT `deleteEvent` 
ON SCHEDULE EVERY 30 MINUTE STARTS '2016-03-23 00:00:00' 
ON COMPLETION NOT PRESERVE 
ENABLE 
DO 
DELETE FROM hotel; 
ALTER TABLE hotel AUTO_INCREMENT = 1; 

ich gestutzt nicht verwenden. Da gibt es Fehler wie folgt aus:

Cannot truncate a table referenced in a foreign key constraint......... 

Also, mit ich löschen und verändern

Aber wenn löschen und ändern verwenden, es funktioniert nicht

Jede Lösung für mein Problem zu lösen?

Danke

Antwort

1

können Sie versuchen: so können Sie TRUNCATE verwenden beide Tabellen, wenn klar. Nach dem Kürzen der Auto_inc ist auch 1

SET foreign_key_checks = 0; 
TRUNCATE FROM hotel; 
TRUNCATE FROM ConstraintsTable; 
SET foreign_key_checks = 1; 

du mehr Anfragen wie festlegen können:

DELIMITER // 
CREATE EVENT myevent 
    ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR 
    DO 
    BEGIN 
     SET foreign_key_checks = 0; 
     TRUNCATE FROM hotel; 
     TRUNCATE FROM ConstraintsTable; 
     SET foreign_key_checks = 1; 
    END 
// 
DELIMITER ; 
+0

In mysql Event-Scheduler, laufen nur 1 Abfrage –

+0

@moses toh - ich habe eine Probe in meiner Antwort hinzufügen –

+0

aktualisieren Sie Ihre Antwort. truncate keine Notwendigkeit 'from'. Also, wie folgt: 'TRUNCATE hotel' –