Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में 5 मिनट से पुराने टाइमस्टैम्प रिकॉर्ड हटाएं

DELETE के साथ NOW() - INTERVAL 5 MINUTE का उपयोग करके 5 मिनट से पुराने टाइमस्टैम्प वाली पंक्तियाँ हटाएं।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1851 (DueDate DATETIME);

डेटा डालें

mysql> INSERT INTO DemoTable1851 VALUES('2019-12-03 21:30:35');
mysql> INSERT INTO DemoTable1851 VALUES('2019-12-03 21:45:00');
mysql> INSERT INTO DemoTable1851 VALUES('2019-12-03 21:34:00');

वर्तमान समय

mysql> SELECT NOW();
+---------------------+
| now()               |
+---------------------+
| 2019-12-03 21:38:46 |
+---------------------+

5 मिनट से पुराने हटाएं

mysql> DELETE FROM DemoTable1851
    WHERE DueDate < (NOW() - INTERVAL 5 MINUTE);

NOW() - INTERVAL 5 MINUTE = 2019-12-03 21:33:46

इससे पहले: 21:30:35 और 21:34:00 → हट जाएंगे।

शेष डेटा

+---------------------+
| DueDate             |
+---------------------+
| 2019-12-03 21:45:00 |
+---------------------+

महत्वपूर्ण नोट्स

  • NOW() क्वेरी निष्पादन समय पर एक बार मूल्यांकित होता है।
  • INTERVAL 5 MINUTE के अलावा HOUR, DAY, MONTH आदि उपयोग कर सकते हैं।
  • बड़े डेटासेट पर बैच में हटाएं (उदाहरण: LIMIT 1000 लूप में) लॉक अवधि कम करने के लिए।
  • सॉफ्ट डिलीट (deleted_at कॉलम) अक्सर बेहतर डिज़ाइन है।

समान पैटर्न

  • पुराने सत्र हटाएं: WHERE last_activity < NOW() - INTERVAL 30 MINUTE
  • पुराने लॉग हटाएं: WHERE created_at < NOW() - INTERVAL 90 DAY
  • समाप्त टोकन हटाएं: WHERE expires_at < NOW()
  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI

  1. - MySQL में FROM_UNIXTIME और NOW से 1 दिन से पुराने टाइमस्टैम्प वाली पंक्तियाँ प्राप्त करें

    सिंटैक्स select * from yourTable where from_unixtime(unixTimestampCol) < now() - interval 1 day; उदाहरण: यूनिक्स टाइमस्टैम्प कॉलम insert into demo75 values(unix_timestamp(2020-01-10)), (unix_timestamp(2020-11-19)), (unix_timestamp(2020-12-18)), (unix_timestamp(2020-11-10)); क्वेरी और परिणाम (मान

  1. - Node.js से MySQL रिकॉर्ड हटाना (DELETE FROM)

    डेटाबेस टेबल से रिकॉर्ड हटाने के लिए DELETE FROM स्टेटमेंट उपयोग करें। दो तरीके: स्टैटिक डिलीशन: निश्चित फ़िल्टर मान देकर हटाएं। डायनामिक डिलीशन: इनपुट लेकर उसके आधार पर हटाएं। पूर्वापेक्षा mkdir mysql-test cd mysql-test npm init -y npm install mysql उदाहरण 1: स्टैटिक डिलीशन (address=Delhi) var