কম্পিউটার টিউটোরিয়াল

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


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

উপরোক্ত দুটি টেবিল থেকে দেখা যায় 'student' টেবিলে ৬টি সারি আছে এবং id = 6 হলে 'grade' এর মান 'average', 'info' টেবিলে ৫টি সারি আছে। এখন নিচের কোয়ারিটিতে ব্যবহৃত সাব-কোয়ারি 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 ক্লজ না ব্যবহার করে AND অপারেটর দিয়ে রেঞ্জ কোয়ারি করা

  3. MySQL-এ IF() ফাংশন দিয়ে শর্তসাপেক্ষ আপডেট (দুটি মান ইন্টারচেঞ্জ)

  4. MySQL-এ WHERE ক্লজে একাধিক শর্ত দিয়ে আপডেট করা