2016-04-08 7 views
2

私のSQLスクリプトは、このようなものです:私は切り捨て使用していないmysqlイベントスケジューラを削除して変更するには?

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; 

。 、このようなエラーがありますので:

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

だから、私は削除して

を変える使っしかし、削除や変更を使用している場合、私の問題を解決するために

どれでも解決策を働いていないのですか?明確な両方のテーブルの場合は、TRUNCATEを使用できるように:

は、あなたが試みることができるあなたに

答えて

1

ありがとうございます。 MySQLのイベントスケジューラで

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

、唯一の1クエリ –

+0

@mosesのTOHを実行します - 私は私の答えにサンプルを追加します:切り捨てAuto_incも1

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

したらあなたは、このような複数のクエリを設定することができます –

+0

あなたは答えます。 'from'を省略する必要はありません。そうです: 'TRUNCATE hotel' –

関連する問題