MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল (@var_name) ব্যবহার করে ডাইনামিকভাবে মান আপডেট করা যায়। ভেরিয়েবলের মান প্রতিটি রো প্রসেস করার সময় পরিবর্তন করা যায়।
টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable2027 (
-> UserId INT
-> );
Query OK, 0 rows affected (0.65 sec)
mysql> INSERT INTO DemoTable2027 VALUES (10), (20), (31), (11);
mysql> SELECT * FROM DemoTable2027; +--------+ | UserId | +--------+ | 10 | | 20 | | 31 | | 11 | +--------+
ভেরিয়েবল ব্যবহার করে আপডেট
mysql> SET @uId := 100;
Query OK, 0 rows affected (0.00 sec)
mysql> UPDATE DemoTable2027
-> SET UserId = (@uId := @uId + 10);
Query OK, 4 rows affected (0.13 sec)
ফলাফল
mysql> SELECT * FROM DemoTable2027; +--------+ | UserId | +--------+ | 110 | | 120 | | 130 | | 140 | +--------+
ব্যাখ্যা: @uId শুরুতে ১০০। প্রতিটি রো আপডেটের সময় সেটি ১০ বাড়ে (১১০, ১২০, ১৩০, ১৪০)। অ্যাসাইনমেন্ট এক্সপ্রেশন (@uId := @uId + 10) নতুন মান রিটার্ন করে যা UserId-এ সেট হয়।