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

यदि UPDATE स्टेटमेंट के SET क्लॉज में नए मान निर्दिष्ट करने के लिए उपयोग किया गया सबक्वेरी कोई पंक्ति नहीं लौटाता तो MySQL क्या लौटाता है?


इस मामले में, MySQL SET क्लॉज को NULL मान प्रदान करेगा। निम्नलिखित उदाहरण इसे प्रदर्शित करेगा:

उदाहरण

mysql> Select * from student; 
+----+---------+-----------+ 
| Id | Name    | grade     | 
+----+---------+-----------+ 
| 1  | Rahul   | Good      | 
| 2  | Gaurav  | Good      | 
| 3  | Raman   | Excellent | 
| 4  | Harshit | Average   | 
| 5  | Aarav   | Best      | 
| 6  | Ram     | average   | 
+----+---------+-----------+ 
6 rows in set (0.00 sec) 
mysql> select * from info; 
+------+-----------+ 
| id   | remarks   | 
+------+-----------+ 
| 1    | Good      | 
| 2    | Good      | 
| 3    | Excellent | 
| 4    | Average   | 
| 5    | Best      | 
+------+-----------+ 
5 rows in set (0.00 sec)

उपरोक्त दो टेबल से, हम देख सकते हैं कि 'student' टेबल में 6 पंक्तियां हैं और 'grade' का मान 'average' है जहां id = 6 और 'info' टेबल में 5 पंक्तियां हैं। अब निम्नलिखित क्वेरी में उपयोग किया गया सबक्वेरी SET क्लॉज में नए मान देने के लिए कोई पंक्ति प्रदान नहीं करेगा इसलिए यह NULL मान डाल देगा। इसे निम्नलिखित क्वेरी के आउटपुट से जांचा जा सकता है:

mysql> UPDATE STUDENT SET grade = (SELECT remarks from info WHERE info.id = student.id) WHERE id = 6; 
Query OK, 1 row affected (0.04 sec) 
Rows matched: 1 Changed: 1 Warnings: 0 
mysql> Select * from student; 
+----+---------+-----------+ 
| Id | Name    | grade     | 
+----+---------+-----------+ 
| 1  | Rahul   | Good      | 
| 2  | Gaurav  | Good      | 
| 3  | Raman   | Excellent | 
| 4  | Harshit | Average   | 
| 5  | Aarav   | Best      | 
| 6  | Ram     | NULL      | 
+----+---------+-----------+ 
6 rows in set (0.00 sec)

  1. - MySQL में BETWEEN क्लॉज के बजाय AND ऑपरेटर से रेंज क्वेरी कैसे करें?

    MySQL में BETWEEN के विकल्प: AND ऑपरेटर का उपयोग BETWEEN क्लॉज के बजाय आप >= और <= ऑपरेटर को AND से जोड़कर समान रेंज क्वेरी कर सकते हैं। यह अधिक स्पष्ट और कभी-कभी अधिक लचीला होता है। उदाहरण: 15 से 80 के बीच की संख्याएं टेबल बनाएं: CREATE TABLE DemoTable (Number INT); INSERT INTO DemoTable VAL

  1. - MySQL में IF() फंक्शन से शर्त के आधार पर सभी पंक्तियों के दो मान सेट करें

    MySQL UPDATE में IF(): शर्ती मान असाइनमेंट IF(condition, true_value, false_value) फंक्शन का उपयोग करके UPDATE स्टेटमेंट में शर्त के आधार पर कॉलम मान सेट कर सकते हैं। यह CASE WHEN का संक्षिप्त रूप है। उदाहरण: Value 10 को 20 में, बाकी को 10 में बदलें टेबल बनाएं: CREATE TABLE DemoTable (Value INT); IN

  1. - MySQL में WHERE क्लॉज में एकाधिक शर्तों के साथ UPDATE कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तें निर्दिष्ट करके विशिष्ट पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE condition1 AND condition2 AND ...; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable