সেক্ষেত্রে, 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