DATEDIFF() দিয়ে পুরনো রেকর্ড ডিলিট
MySQL-এ বর্তমান তারিখ থেকে নির্দিষ্ট দিনের বেশি পুরনো রেকর্ড মুছে ফেলতে DATEDIFF() এবং NOW() ব্যবহার করুন।
সিনট্যাক্স
DELETE FROM yourTableName
WHERE DATEDIFF(NOW(), yourDateColumn) > 5;
উদাহরণ (ধরে নিচ্ছি আজ ২০১৯-০৩-১০)
mysql> CREATE TABLE deleteRowsOlderThan5Demo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(100), Post_Date DATE
-> );
mysql> INSERT INTO deleteRowsOlderThan5Demo (Name, Post_Date) VALUES
-> ('Larry','2019-03-11'), ('Mike','2019-02-12'), ('Sam','2019-03-10'),
-> ('Carol','2019-03-01'), ('David','2019-01-31'), ('Maxwell','2019-01-26'), ('John','2019-02-19');
৫ দিনের বেশি পুরনো রো ডিলিট
mysql> DELETE FROM deleteRowsOlderThan5Demo
-> WHERE DATEDIFF(NOW(), deleteRowsOlderThan5Demo.Post_Date) > 5;
ফলাফল (শুধু ১০ এবং ১১ মার্চের রো থাকে)
+----+-------+------------+
| Id | Name | Post_Date |
+----+-------+------------+
| 1 | Larry | 2019-03-11 |
| 3 | Sam | 2019-03-10 |
+----+-------+------------+
নোট: DATEDIFF(date1, date2) = date1 - date2 (দিনের সংখ্যা)। বড় টেবিলে ইনডেক্স ব্যবহার করুন।