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

MySQL-এ একটি টেবিলের মান দিয়ে অন্য টেবিলের ফিল্ড আপডেট করা (ভেরিয়েবল ব্যবহার করে)

এক টেবিলের মান অন্য টেবিলে যোগ করতে ইউজার-ডিফাইনড ভেরিয়েবল (@variable) ব্যবহার করুন। প্রথম টেবিল:

mysql> CREATE TABLE DemoTable1 (value INT);
mysql> INSERT INTO DemoTable1 VALUES(10);

দ্বিতীয় টেবিল:

mysql> CREATE TABLE DemoTable2 (value1 INT);
mysql> INSERT INTO DemoTable2 VALUES(50), (100);

প্রথম টেবিলের মান ভেরিয়েবলে নেওয়া এবং দ্বিতীয় টেবিলে যোগ করা:

mysql> SET @myValue = (SELECT value FROM DemoTable1);
mysql> UPDATE DemoTable2 SET value1 = value1 + @myValue;
Query OK, 2 rows affected (0.11 sec)

আপডেট হওয়া টেবিল চেক করুন:

mysql> SELECT * FROM DemoTable2;

আউটপুট:

+--------+
| value1 |
+--------+
| 60     |
| 110    |
+--------+

ব্যাখ্যা:

  • SET @myValue = (SELECT ...): সাবকোয়েরির ফলাফল (১০) সেশন ভেরিয়েবলে স্টোর করা হয়েছে।
  • UPDATE ... SET value1 = value1 + @myValue: প্রতিটি সারির value1-এ ১০ যোগ করা হয়েছে।

একক কোয়েরিতে (JOIN ব্যবহার করে):

UPDATE DemoTable2 d2
CROSS JOIN (SELECT value FROM DemoTable1) d1
SET d2.value1 = d2.value1 + d1.value;

এটি আরও স্ট্যান্ডার্ড এবং ভেরিয়েবল-ফ্রি। জয়েন কন্ডিশন না থাকলে CROSS JOIN (কার্টেশিয়ান প্রোডাক্ট) হয়, কিন্তু এখানে DemoTable1-এ ১ সারি আছে তাই ঠিক কাজ করে।

  1. Java দিয়ে MySQL ডেটাবেস থেকে লাস্ট রেকর্ড পাওয়া

  2. MySQL-এ IS NULL ব্যবহার করে NULL মান যুক্ত কলাম আপডেট করা

  3. MySQL-এ ORDER BY DESC LIMIT 1,1 ব্যবহার করে ২য় সর্বোচ্চ মান বের করা

  4. একক MySQL কোয়ারি: প্রথম টেবিল থেকে মান বেছে নিয়ে দ্বিতীয় টেবিলে ইনসার্ট করা