FLOOR(RAND() * range) + min ফর্মুলা
নির্দিষ্ট রেঞ্জে (min থেকে max) র্যান্ডম ইন্টিজার জেনারেট করতে FLOOR(RAND() * (max - min + 1)) + min ব্যবহার করুন।
সিনট্যাক্স
UPDATE yourTable SET col = col + FLOOR(RAND() * (max - min + 1)) + min WHERE condition;
উদাহরণ: ৩০-৩০০ রেঞ্জ
টেবিল তৈরি
mysql> create table RandomNumberDemo (
-> MyNumber int
-> );
Query OK, 0 rows affected (0.54 sec)
ডেটা ইনসার্ট
mysql> insert into RandomNumberDemo values(17); Query OK, 1 row affected (0.20 sec) mysql> insert into RandomNumberDemo values(18); Query OK, 1 row affected (0.12 sec) mysql> insert into RandomNumberDemo values(29); Query OK, 1 row affected (0.49 sec)
আপডেট করার আগে
mysql> SELECT * FROM RandomNumberDemo;
আউটপুট
+----------+ | MyNumber | +----------+ | 17 | | 18 | | 29 | +----------+
MyNumber=18-এ ৩০-৩০০ র্যান্ডম যোগ
mysql> UPDATE RandomNumberDemo SET MyNumber = MyNumber + FLOOR(RAND() * (270 + 1)) + 30 WHERE MyNumber = 18; Query OK, 1 row affected (0.20 sec)
গণনা: max=300, min=30 → range = 300-30+1 = 271। FLOOR(RAND() * 271) + 30 → ৩০ থেকে ৩০০ পর্যন্ত র্যান্ডম।
আপডেটের পর (উদাহরণে ১৫৮ হয়েছে)
mysql> SELECT * FROM RandomNumberDemo;
আউটপুট
+----------+ | MyNumber | +----------+ | 17 | | 158 | | 29 | +----------+
নোট: প্রতিবার রান করলে ভিন্ন র্যান্ডম সংখ্যা আসবে। টেস্টিং-এ ফিক্সড সিডের জন্য RAND(seed) ব্যবহার করুন।