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

MySQL-এ ROW_COUNT() দিয়ে DELETE-এffected রো সংখ্যা জানা


ROW_COUNT() ফাংশন ব্যবহার

শেষ আপডেট/ডিলিট/ইনসার্ট কোয়েরি কতগুলো রো প্রভাবিত করেছে তা জানতে ROW_COUNT() কল করুন। এটি সেশন-স্কোপড।

সিনট্যাক্স

DELETE FROM yourTable WHERE condition;
SELECT ROW_COUNT();

উদাহরণ

টেবিল তৈরি

mysql> create table rowAfftectedByDeleteDemo (
    -> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> CustomerName varchar(20)
    -> );
Query OK, 0 rows affected (0.86 sec)

৮ রো ইনসার্ট

mysql> insert into rowAfftectedByDeleteDemo(CustomerName) values('John');
Query OK, 1 row affected (0.14 sec)
... (মোট ৮ রো: John, Carol, Bob, Sam, David, Maxwell, Ramit, James) ...

ডিলিটের আগে ROW_COUNT()

mysql> SELECT ROW_COUNT();

আউটপুট: -1 (কোয়েরি ছিল SELECT, কোনো রো আপডেট নেই)

+-------------+
| ROW_COUNT() |
+-------------+
|          -1 |
+-------------+

৪ রো ডিলিট

mysql> DELETE FROM rowAfftectedByDeleteDemo WHERE CustomerId = 3 OR CustomerId = 4 OR CustomerId = 5 OR CustomerId = 6;
Query OK, 4 rows affected (0.13 sec)

ডিলিটের পর ROW_COUNT()

mysql> SELECT ROW_COUNT();

আউটপুট: ৪ (৪টি রো ডিলিট হয়েছে)

+-------------+
| ROW_COUNT() |
+-------------+
|           4 |
+-------------+

নোট: ROW_COUNT() শুধু ঠিক আগের স্টেটমেন্টের জন্য কাজ করে। স্টোরড প্রসিডিউর/ফাংশনে এটি ব্যবহার করা হয়। CLI-তে Query OK, N rows affected মেসেজ থেকেও জানা যায়।

  1. MySQL-এ কমপক্ষে x সংখ্যক সারি পেতে কীভাবে?

  2. MySQL-এ LIMIT OFFSET দিয়ে রো বাদ দিয়ে (Skip) রেকর্ড বের করা

  3. MySQL কোয়েরি: শেষ কোয়েরিতে সারির সংখ্যা জানার পদ্ধতি

  4. জাভাতে স্ট্রিং-এর প্রথম ক্যারেক্টার নম্বর কিনা যাচাই করা