इस मामले में, 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