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

UPDATE স্টেটমেন্টের SET ক্লজে কলামের ক্রম কতটা গুরুত্বপূর্ণ? কি এতে রেজাল্ট সেটে বড় পার্থক্য আসে?


UPDATE স্টেটমেন্টের SET ক্লজে কলামের ক্রম গুরুত্বপূর্ণ কারণ MySQL এক্সপ্রেশন ব্যবহৃত কলামের আপডেটেড মান প্রদান করে। হ্যাঁ, এটি MySQL দ্বারা ফেরত দেওয়া রেজাল্ট সেটে বড় পার্থক্য আনবে। নিচের উদাহরণটি বিষয়টি স্পষ্ট করবে −

উদাহরণ

এই উদাহরণে, আমাদের 'tender' নামে একটি টেবিল আছে। প্রথমে, আমরা UPDATE স্টেটমেন্ট লিখব যেখানে SET ক্লজে 'tender_id' প্রথম এবং 'rate' দ্বিতীয় কলাম, তারপর SET ক্লজে 'rate' প্রথম এবং 'tender_id' দ্বিতীয় কলাম ব্যবহার করব 'tender' টেবিলে।

mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200       | ABC     | 1000 | | 300       | ABD     | 6000 | | 301       | ABE     | 7000 | | 302       | ABF     | 3500 | | 303       | ABG     | 3600 | +-----------+---------+------+ 5 rows in set (0.00 sec) mysql> UPDATE tender SET tender_id = tender_id + 100, rate = tender_id * 4 WHERE tender_id = 200; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0

উপরোক্ত কোয়ারিটি প্রথমে 'tender_id' এর মান আপডেট করবে এবং তারপর নতুন 'tender_id' অনুযায়ী 'rate' আপডেট করবে। এটি MySQL দ্বারা ফেরত দেওয়া রেজাল্ট সেটে দেখা যায় −

mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 300       | ABC     | 1200 | | 300       | ABD     | 6000 | | 301       | ABE     | 7000 | | 302       | ABF     | 3500 | | 303       | ABG     | 3600 | +-----------+---------+------+ 5 rows in set (0.00 sec) mysql> UPDATE tender1 SET rate = tender_id * 4, tender_id = tender_id + 200 WHERE company = 'ABD'; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0

এখন, উপরের কোয়ারিটি প্রথমে পুরনো 'tender_id' অনুযায়ী 'rate' আপডেট করবে এবং তারপর 'tender_id' আপডেট করবে। এটি MySQL দ্বারা ফেরত দেওয়া রেজাল্ট সেটে দেখা যায় −

mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 300       | ABC     | 1200 | | 500       | ABD     | 1200 | | 301       | ABE     | 7000 | | 302       | ABF     | 3500 | | 303       | ABG     | 3600 | +-----------+---------+------+ 5 rows in set (0.00 sec)

এভাবে, SET ক্লজে কলামের ক্রম পরিবর্তন করলে আউটপুটে বড় পার্থক্য আসে।


  1. MySQL-এ IN ক্লজের পজিশন অনুযাতে রেজাল্ট সর্ট করা (FIND_IN_SET)

  2. MySQL-এ ORDER BY columnname*1 এর উদ্দেশ্য কী?

  3. MySQL-এ ফলাফল সেটকে নির্দিষ্ট ক্রমে সাজানো

  4. জাভা থেকে MySQL কানেকশন: পোর্ট ৩৩০৬ এবং JDBC URL কনফিগারেশন