मैं अपने डेटाबेस के चारों ओर बैचों में रिकॉर्ड स्थानांतरित करने के लिए MYSQL में एक ईवेंट का उपयोग कर रहा हूं:

USE db;
DROP EVENT IF EXISTS eval_1day;
Delimiter $$
CREATE EVENT IF NOT EXISTS eval_1day
ON SCHEDULE EVERY 1 DAY
STARTS current_timestamp()
DO
  BEGIN
    START TRANSACTION;

    INSERT INTO db.t2
      (`upc`,
       `brand`,
       `agency`,
       `policy`)


SELECT 

    db.`upc`,
    db.`brand`,
    db.`agency`,
    db.`policy`
FROM db.t
ORDER BY id desc
LIMIT 600;
DELETE FROM db.t order by id desc limit 600;

COMMIT;
END$$
DELIMITER ;

तो मेरा सवाल यह है कि, मैं इस EVENT क्वेरी में की तर्ज पर कुछ जोड़ना चाहता हूं

IF CURDATE() = future_date, DROP EVENT IF EXISTS eval_1day;

क्या यह करने योग्य है और यदि मैं जिस तरीके से चाहता हूं, क्या यहां कोई वैकल्पिक तरीका नहीं है?

0
Patty Con 10 जिंदा 2020, 00:42

1 उत्तर

सबसे बढ़िया उत्तर

सबसे आसान तरीका है कि आप ENDS को जोड़ दें और आपकी समाप्ति तिथि

STARTS current_timestamp()
ENDS '2020-01-31'
DO

लेकिन आप भी जोड़ सकते हैं

IF '2020-01-31' >= curdate() THEN
    DROP EVENT eval_1day;
END IF;
END$$
0
nbk 9 जिंदा 2020, 22:21