নির্দিষ্ট দিনের চেয়ে পুরনো রেকর্ড মুছে ফেলতে DELETE স্টেটমেন্টে INTERVAL এবং NOW() ব্যবহার করা হয়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> UserMessage TEXT,
-> UserMessageSentDate DATE
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable VALUES('Hi', '2019-06-01');
mysql> INSERT INTO DemoTable VALUES('Hello', '2019-07-02');
mysql> INSERT INTO DemoTable VALUES('Awesome', '2019-05-04');
mysql> INSERT INTO DemoTable VALUES('Good', '2019-01-10');
সকল রেকর্ড
+-------------+---------------------+ | UserMessage | UserMessageSentDate | +-------------+---------------------+ | Hi | 2019-06-01 | | Hello | 2019-07-02 | | Awesome | 2019-05-04 | | Good | 2019-01-10 | +-------------+---------------------+
৩০ দিন পুরনো রেকর্ড ডিলিট (ধরে নিচ্ছি আজ ২০১৯-০৭-০২)
mysql> DELETE FROM DemoTable WHERE UserMessageSentDate < NOW() - INTERVAL 30 DAY; Query OK, 3 rows affected (0.11 sec)
বাকি রেকর্ড
+-------------+---------------------+ | UserMessage | UserMessageSentDate | +-------------+---------------------+ | Hello | 2019-07-02 | +-------------+---------------------+
সতর্কতা: NOW() ডেটাটাইম রিটার্ন করে, DATE কালামের সাথে তুলনায় অটোমেটিক কনভার্সন হয়। প্রোডাকশনে ব্যাকআপ নিয়ে কাজ করুন।