किसी विशिष्ट रिकॉर्ड के मान को शून्य तक घटाने के लिए SET के साथ WHERE क्लॉज का उपयोग करें।
टेबल निर्माण
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number INT
);
डेटा डालना
mysql> INSERT INTO DemoTable(Number) VALUES(10); mysql> INSERT INTO DemoTable(Number) VALUES(20); mysql> INSERT INTO DemoTable(Number) VALUES(1); mysql> INSERT INTO DemoTable(Number) VALUES(0); mysql> INSERT INTO DemoTable(Number) VALUES(-1);
प्रारंभिक डेटा
mysql> SELECT * FROM DemoTable;
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 20 | | 3 | 1 | | 4 | 0 | | 5 | -1 | +----+--------+ 5 rows in set (0.00 sec)
मान को 0 तक घटाने की क्वेरी
mysql> UPDATE DemoTable
SET Number = Number - 1
WHERE Id = 3 AND Number > 0;
Query OK, 1 row affected (0.20 sec) Rows matched: 1 Changed: 1 Warnings: 0
अपडेट के बाद डेटा
mysql> SELECT * FROM DemoTable;
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 20 | | 3 | 0 | | 4 | 0 | | 5 | -1 | +----+--------+ 5 rows in set (0.00 sec)
महत्वपूर्ण: AND Number > 0 शर्त सुनिश्चित करती है कि मान ऋणात्मक न हो। Id 3 का मान 1 से घटकर 0 हो गया।