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

MySQL-এ ট্রিগার ব্যবহার করে স্বয়ংক্রিয়ভাবে লোয়ারকেসে রূপান্তর করা

ট্রিগার ব্যবহার করে ইনসার্টের আগে স্বয়ংক্রিয়ভাবে লোয়ারকেসে রূপান্তর করা যায়। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (StudentSubject TEXT);

ইনসার্টের আগে ট্রিগার তৈরি করি:

mysql> CREATE TRIGGER lowerCaseOnInsertDemo 
BEFORE INSERT ON DemoTable 
FOR EACH ROW 
SET NEW.StudentSubject = LOWER(NEW.StudentSubject);
Query OK, 0 rows affected (0.21 sec)

রেকর্ড ইনসার্ট করি (বড় হাতের অক্ষরে):

mysql> INSERT INTO DemoTable VALUES('MOngoDb');
mysql> INSERT INTO DemoTable VALUES('JaVA');
mysql> INSERT INTO DemoTable VALUES('MySqL');

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট (স্বয়ংক্রিয়ভাবে লোয়ারকেসে রূপান্তরিত):

+----------------+
| StudentSubject |
+----------------+
| mongodb        |
| java           |
| mysql          |
+----------------+

ব্যাখ্যা:

  • BEFORE INSERT: ইনসার্ট হওয়ার ঠিক আগে ট্রিগার ফায়ার হয়।
  • FOR EACH ROW: প্রতিটি সারির জন্য একবার চলে।
  • NEW.StudentSubject: নতুন ইনসার্ট হওয়া মান।
  • LOWER(): স্ট্রিংকে লোয়ারকেসে রূপান্তর করে।

অপডেটের জন্যও চাইলে: BEFORE UPDATE ট্রিগার আলাদা তৈরি করুন।

সতর্কতা: ট্রিগার পারফরম্যান্স প্রভাবিত করতে পারে। বড় ভলিউম ইনসার্টে সতর্ক থাকুন।

  1. MySQL-এ CASE স্টেটমেন্ট দিয়ে গাণিতিক অপারেশন করা

  2. MySQL-এ আন্ডারস্কোর (_) টেবিল নাম হিসেবে ব্যবহার করা (ব্যাকটিক)

  3. MySQL-এ একক SELECT কোয়েরিতে দুটি টেবিল থেকে ডেটা ফেচ করা

  4. জাভাতে 'this'-কে রেফারেন্স অ্যাসাইন করা সম্ভব কি?