MySQL में LIMIT क्लॉज़ के साथ UPDATE का उपयोग करके केवल पहली N पंक्तियों को अपडेट किया जा सकता है। यह बैच प्रोसेसिंग या आंशिक अपडेट के लिए उपयोगी है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20)
);
डेटा डालना
mysql> INSERT INTO DemoTable(Name) VALUES('Carol'), ('Chris'), ('David'), ('Bob'), ('Mike'), ('Sam'), ('Robert'), ('Adam');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट (अपडेट से पहले)
+----+--------+ | Id | Name | +----+--------+ | 1 | Carol | | 2 | Chris | | 3 | David | | 4 | Bob | | 5 | Mike | | 6 | Sam | | 7 | Robert | | 8 | Adam | +----+--------+
पहली 7 पंक्तियों को 'John' से अपडेट करना
mysql> UPDATE DemoTable SET Name = 'John' LIMIT 7;
आउटपुट (अपडेट के बाद)
+----+------+ | Id | Name | +----+------+ | 1 | John | | 2 | John | | 3 | John | | 4 | John | | 5 | John | | 6 | John | | 7 | John | | 8 | Adam | +----+------+
महत्वपूर्ण: LIMIT के साथ UPDATE में ORDER BY नहीं होता, इसलिए कौन सी पंक्तियाँ अपडेट होंगी यह अनिर्धारित है जब तक कि ORDER BY उपक्वेरी में उपयोग न किया जाए। सुरक्षित तरीका: UPDATE DemoTable SET Name='John' WHERE Id IN (SELECT Id FROM DemoTable ORDER BY Id LIMIT 7)।