किसी तालिका से अंतिम रिकॉर्ड (शर्त पर) को हटाने के लिए, आपको ORDER BY DESC का उपयोग LIMIT के साथ करना होगा
1. वाक्य रचना इस प्रकार है:
DELETE FROM yourTableName WHERE yourColumnName1=yourValue ORDER BY yourColumnName2 DESC LIMIT 1;
उपरोक्त सिंटैक्स तालिका से अंतिम रिकॉर्ड (शर्त पर) हटा देगा। यह कॉलम को अवरोही क्रम में क्रमबद्ध करता है और हटाने के लिए पहला तत्व चुनता है।
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:
mysql> create table UserLoginTable -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserId int, -> UserLoginDateTime datetime, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.94 sec)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:
mysql> insert into UserLoginTable(UserId,UserLoginDateTime) values(2,'2019-01-27 13:47:20'); Query OK, 1 row affected (0.19 sec) mysql> insert into UserLoginTable(UserId,UserLoginDateTime) values(1,'2018-11-28 12:30:12'); Query OK, 1 row affected (0.16 sec) mysql> insert into UserLoginTable(UserId,UserLoginDateTime) values(2,'2019-01-26 11:30:30'); Query OK, 1 row affected (0.20 sec) mysql> insert into UserLoginTable(UserId,UserLoginDateTime) values(1,'2015-03-11 15:23:55'); Query OK, 1 row affected (0.21 sec) mysql> insert into UserLoginTable(UserId,UserLoginDateTime) values(2,'2019-03-21 16:01:56'); Query OK, 1 row affected (0.23 sec)
अब आप सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:
mysql> select *from UserLoginTable;
निम्न आउटपुट है:
+----+--------+---------------------+ | Id | UserId | UserLoginDateTime | +----+--------+---------------------+ | 1 | 2 | 2019-01-27 13:47:20 | | 2 | 1 | 2018-11-28 12:30:12 | | 3 | 2 | 2019-01-26 11:30:30 | | 4 | 1 | 2015-03-11 15:23:55 | | 5 | 2 | 2019-03-21 16:01:56 | +----+--------+---------------------+ 5 rows in set (0.00 sec)
तालिका से अंतिम रिकॉर्ड (शर्त पर) को हटाने की क्वेरी यहां दी गई है:
mysql> delete from UserLoginTable where UserId=2 ORDER BY UserLoginDateTime DESC LIMIT 1; Query OK, 1 row affected (0.16 sec)
चयन कथन का उपयोग करके एक बार फिर तालिका रिकॉर्ड की जाँच करें। क्वेरी इस प्रकार है:
mysql> select *from UserLoginTable;
निम्न आउटपुट है:
+----+--------+---------------------+ | Id | UserId | UserLoginDateTime | +----+--------+---------------------+ | 1 | 2 | 2019-01-27 13:47:20 | | 2 | 1 | 2018-11-28 12:30:12 | | 3 | 2 | 2019-01-26 11:30:30 | | 4 | 1 | 2015-03-11 15:23:55 | +----+--------+---------------------+ 4 rows in set (0.00 sec)
अंतिम रिकॉर्ड अब UserId 2 वाली तालिका से हटा दिया गया है।