ট্রিগার ব্যবহার করে ইনসার্টের আগে স্বয়ংক্রিয়ভাবে লোয়ারকেসে রূপান্তর করা যায়। প্রথমে একটি টেবিল তৈরি করি:
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 ট্রিগার আলাদা তৈরি করুন।
সতর্কতা: ট্রিগার পারফরম্যান্স প্রভাবিত করতে পারে। বড় ভলিউম ইনসার্টে সতর্ক থাকুন।