কম্পিউটার

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


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

উপরের দুটি টেবিল থেকে, আমরা দেখতে পাচ্ছি 'ছাত্র' টেবিলে 6টি সারি রয়েছে এবং 'গ্রেড'-এর মান হল 'গড়' যেখানে id =6 এবং 'তথ্য' টেবিলে 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 IF স্টেটমেন্ট সহ একটি টেবিলে একাধিক মান আপডেট করুন

  2. MySQL-এ একটি পরিসরের মধ্যে মান আনতে BETWEEN ক্লজের বিকল্প কী?

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

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