ORDER BY ... DESC LIMIT 1 से नवीनतम पंक्ति अपडेट करें
सबसे अधिक ID वाली पंक्ति (नवीनतम) को विशिष्ट शर्त के साथ अपडेट करने के लिए ORDER BY id DESC LIMIT 1 का उपयोग करें।
सिंटैक्स
UPDATE yourTableName SET column1 = value WHERE condition ORDER BY idColumn DESC LIMIT 1;
उदाहरण: टेबल और डेटा
mysql> create table UpdateWithHighestDemo (
-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserStatus tinyint,
-> UserRank int
-> );
mysql> INSERT INTO UpdateWithHighestDemo(UserStatus,UserRank) VALUES (1,78), (0,118), (1,223), (1,225), (0,227), (0,230);
डेटा
+--------+------------+----------+ | UserId | UserStatus | UserRank | +--------+------------+----------+ | 1 | 1 | 78 | | 6 | 0 | 230 | +--------+------------+----------+
केस 1: UserRank=230 वाली पंक्ति अपडेट करें
mysql> UPDATE UpdateWithHighestDemo
-> SET UserStatus = 1
-> WHERE UserRank = 230
-> ORDER BY UserId DESC LIMIT 1;
परिणाम: UserId=6 का UserStatus 0→1 हो गया।
केस 2: उच्चतम UserId वाली पंक्ति अपडेट करें (कोई WHERE शर्त नहीं)
mysql> UPDATE UpdateWithHighestDemo
-> SET UserStatus = 0
-> ORDER BY UserId DESC LIMIT 1;
परिणाम: UserId=6 का UserStatus 1→0 हो गया।
महत्वपूर्ण बिंदु
ORDER BY ... DESC LIMIT 1सबसे हाल की पंक्ति लक्षित करता हैWHEREक्लॉज के साथ संयोजित करके विशिष्ट शर्त + नवीनतम पंक्ति- बिना WHERE के
ORDER BY ... LIMIT 1पूरी टेबल की नवीनतम पंक्ति अपडेट करता है - प्रदर्शन के लिए इंडेक्स्ड कॉलम पर ORDER BY उपयोग करें