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

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


इस मामले में, MySQL एक त्रुटि संदेश लौटाएगा क्योंकि हम जानते हैं कि यदि सबक्वेरी का उपयोग UPDATE स्टेटमेंट के SET क्लॉज में नए मान निर्दिष्ट करने के लिए किया जाता है तो यह WHERE क्लॉज से मेल खाने वाली अपडेट टेबल में प्रत्येक पंक्ति के लिए ठीक एक पंक्ति लौटानी चाहिए।

उदाहरण

mysql> insert into info(id, remarks) values(5,'average'); 
Query OK, 1 row affected (0.06 sec) 
mysql> select * from info; 
+------+-----------+ 
| id   | remarks   | 
+------+-----------+ 
| 1    | Good      | 
| 2    | Good      | 
| 3    | Excellent | 
| 4    | Average   | 
| 5    | Best      | 
| 5    | average   | 
+------+-----------+ 
6 rows in set (0.00 sec)

जैसा कि हम ऊपर देख सकते हैं, 'info' टेबल में id = 5 वाली दो पंक्तियां हैं इसलिए जब हम इसे सबक्वेरी में उपयोग करेंगे तो यह एकाधिक पंक्तियां लौटाएगा और इसके कारण MySQL निम्नानुसार त्रुटि संदेश लौटाएगा:

mysql> UPDATE STUDENT SET grade = (SELECT remarks from info WHERE info.id = student.id) WHERE id = 5; 
ERROR 1242 (21000): Subquery returns more than 1 row

  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 में IN() ऑपरेटर का उपयोग करके एक WHERE क्लॉज से कई पंक्तियों को कैसे अपडेट करें?

    MySQL IN() ऑपरेटर के साथ बल्क अपडेट MySQL में IN() ऑपरेटर का उपयोग करके आप एक ही WHERE क्लॉज में कई मानों को निर्दिष्ट कर सकते हैं, जिससे एकाधिक पंक्तियों को एक साथ अपडेट करना आसान हो जाता है। उदाहरण: कर्मचारी नामों को बल्क में अपडेट करना पहले एक टेबल बनाते हैं और डेटा डालते हैं: SELECT * FROM Dem

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

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