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

क्या MySQL में UPDATE क्वेरी के साथ LIMIT उपयोग कर सकते हैं?

हाँ, MySQL में UPDATE के साथ LIMIT उपयोग कर सकते हैं, लेकिन सीधे नहीं - सबक्वेरी की आवश्यकता होती है।

सीधा LIMIT (काम नहीं करता)

-- यह सिंटैक्स त्रुटि देगा
UPDATE tblUpdateLimit SET name = 'Adam' LIMIT 7;

काम करने वाला तरीका: सबक्वेरी के साथ

UPDATE tblUpdateLimit 
SET name = 'Adam' 
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM tblUpdateLimit 
        ORDER BY id ASC 
        LIMIT 0, 7
    ) AS sub
);

पूर्ण उदाहरण

टेबल और डेटा:

CREATE TABLE tblUpdateLimit (id INT, name VARCHAR(100));
INSERT INTO tblUpdateLimit VALUES 
(1,'John'), (2,'Carol'), (3,'Smith'), (4,'Kayle'),
(5,'David'), (6,'Jason'), (7,'Larry'), (8,'Serhat'), (9,'Winny');

अपडेट क्वेरी (पहले 7 रिकॉर्ड):

UPDATE tblUpdateLimit 
SET name = 'Adam' 
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM tblUpdateLimit 
        ORDER BY id ASC 
        LIMIT 7
    ) AS sub
);
Query OK, 7 rows affected

परिणाम:

+------+--------+
| id   | name   |
+------+--------+
| 1    | Adam   |
| 2    | Adam   |
| 3    | Adam   |
| 4    | Adam   |
| 5    | Adam   |
| 6    | Adam   |
| 7    | Adam   |
| 8    | Serhat |
| 9    | Winny  |
+------+--------+

महत्वपूर्ण बिंदु

  • सबक्वेरी में ORDER BY अनिवार्य है ताकि परिणाम निश्चित हो।
  • डेराइव्ड टेबल (सबक्वेरी को एलियास देना) MySQL की आवश्यकता है।
  • LIMIT offset, count या LIMIT count OFFSET offset दोनों काम करते हैं।

MySQL 8.0+ में CTE विकल्प

WITH to_update AS (
    SELECT id FROM tblUpdateLimit ORDER BY id LIMIT 7
)
UPDATE tblUpdateLimit 
SET name = 'Adam' 
WHERE id IN (SELECT id FROM to_update);
  1. Java MySQL का उपयोग करके MySQL टेबल अपडेट करें Java MySQL का उपयोग करके MySQL टेबल अपडेट करें

    JDBC में PreparedStatement का उपयोग करके पैरामीटरीकृत अपडेट को सुरक्षित रूप से निष्पादित करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable(Id INT, FirstName VARCHAR(40)); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES(100,Chris),(111,Mike),(121,Sam); अपडेट से पहले SELECT

  1. - MySQL में LIKE क्वेरी से % चिह्न वाले कॉलम मान खोजना

    ESCAPE करके % को शाब्दिक मिलान करना LIKE में % वाइल्डकार्ड है। इसे शाब्दिक % वर्ण के रूप में खोजने के लिए बैकस्लैश \ से एस्केप करें: \\%। तालिका और डेटा (%JohnSmith), (DavidMiller), (CarolTaylor%), (%DavidMiller); क्वेरी: % से शुरू होने वाले नाम SELECT * FROM DemoTable1497 WHERE Name LIKE \\%;

  1. - MySQL में एक क्वेरी से दो कॉलम कैसे अपडेट करें?

    MySQL में एक ही UPDATE स्टेटमेंट में एकाधिक कॉलम अपडेट करने के लिए, SET क्लॉज़ में कॉलम को कॉमा से अलग करके सूचीबद्ध करें। यह एटॉमिक ऑपरेशन सुनिश्चित करता है और क्वेरी ओवरहेड कम करता है। उदाहरण: FirstName और LastName एक साथ अपडेट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1909 ( Id