কম্পিউটার

UPDATE স্টেটমেন্টের SET ক্লজে নতুন মান বরাদ্দ করতে ব্যবহৃত সাব-কোয়েরি একাধিক সারি প্রদান করলে মাইএসকিউএল কী রিটার্ন করে?


এই ক্ষেত্রে, 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)

আমরা উপরে দেখতে পাচ্ছি 'তথ্য' টেবিলে 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-এ একটি পরিসরের মধ্যে মান আনতে BETWEEN ক্লজের বিকল্প কী?

  2. শর্তের উপর ভিত্তি করে একটি MySQL টেবিলের সমস্ত সারির জন্য শুধুমাত্র দুটি মান সেট করবেন?

  3. MySQL-এ একক WHERE ক্লজ ব্যবহার করে কিভাবে একাধিক সারি আপডেট করবেন?

  4. MySQL WHERE ক্লজে একাধিক মান সহ আপডেট করুন