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

MySQL ইভেন্ট তৈরি করার সময় ON COMPLETION PRESERVE ক্লজের ব্যবহার কী?


আমরা জানি, একটি ইভেন্ট এক্সপায়ার হলে অটোমেটিক্যালি ড্রপ হয়ে যায় এবং SHOW EVENTS স্টেটমেন্টে দেখা যায় না। এই আচরণ পরিবর্তন করতে ON COMPLETION PRESERVE ক্লজ ব্যবহার করা হয়। নিচের উদাহরণ:

উদাহরণ

mysql> Create table event_messages(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, MESSAGE VARCHAR(255) NOT NULL, Generated_at DATETIME NOT NULL); 
Query OK, 0 rows affected (0.61 sec)

নিচের কোয়েরি ON COMPLETION PRESERVE ছাড়া ইভেন্ট তৈরি করেছে, তাই SHOW EVENTS-এ দেখা যাবে না।

mysql> CREATE EVENT testing_event_without_Preserves ON SCHEDULE AT CURRENT_TIMESTAMP DO INSERT INTO event_messages(message,generated_at) Values('Without Preserve',NOW()); 
Query OK, 0 rows affected (0.00 sec)
mysql> Select * from event_messages; 
+----+------------------+---------------------+
| ID | MESSAGE          | Generated_at        |
+----+------------------+---------------------+
| 1  | Without Preserve | 2017-11-22 20:32:13 |
+----+------------------+---------------------+
1 row in set (0.00 sec)
mysql> SHOW EVENTS FROM query\G 
*************************** 1. row *************************** 
                        Db: query 
                Name: testing_event5 
             Definer: root@localhost 
                   Time zone: SYSTEM 
                Type: ONE TIME 
                Execute at: 2017-11-22 17:09:11 
              Interval value: NULL 
              Interval field: NULL 
                      Starts: NULL 
                      Ends: NULL 
              Status: DISABLED 
                Originator: 0 
character_set_client: cp850 
collation_connection: cp850_general_ci 
  Database Collation: latin1_swedish_ci 
1 row in set (0.00 sec)

নিচের কোয়েরি ON COMPLETION PRESERVE দিয়ে ইভেন্ট তৈরি করেছে, তাই SHOW EVENTS-এ দেখা যাবে।

mysql> CREATE EVENT testing_event_with_Preserves ON SCHEDULE AT CURRENT_TIMESTAMP ON COMPLETION PRESERVE DO INSERT INTO event_messages(message,generated_at) Values('With Preserve',NOW()); 
Query OK, 0 rows affected (0.00 sec)
mysql> Select * from event_messages; 
+----+------------------+---------------------+
| ID | MESSAGE          | Generated_at        |
+----+------------------+---------------------+
| 1  | Without Preserve | 2017-11-22 20:32:13 |
| 2  | With Preserve    | 2017-11-22 20:35:12 |
+----+------------------+---------------------+
2 rows in set (0.00 sec)
mysql> SHOW EVENTS FROM query\G 
*************************** 1. row *************************** 
                        Db: query 
                Name: testing_event5 
             Definer: root@localhost 
                   Time zone: SYSTEM 
                Type: ONE TIME 
                Execute at: 2017-11-22 17:09:11 
              Interval value: NULL 
              Interval field: NULL 
                      Starts: NULL 
                      Ends: NULL 
              Status: DISABLED 
                Originator: 0 
character_set_client: cp850 
collation_connection: cp850_general_ci 
  Database Collation: latin1_swedish_ci 
*************************** 2. row *************************** 
                        Db: query 
                Name: testing_event_with_Preserves 
             Definer: root@localhost 
                   Time zone: SYSTEM 
                Type: ONE TIME 
                Execute at: 2017-11-22 20:35:12 
              Interval value: NULL 
              Interval field: NULL 
                      Starts: NULL 
                      Ends: NULL 
              Status: DISABLED 
                Originator: 0 
character_set_client: cp850 
collation_connection: cp850_general_ci 
  Database Collation: latin1_swedish_ci 
2 rows in set (0.00 sec)

  1. MySQL-এ <=> অপারেটর কী এবং কীভাবে কাজ করে?

  2. MySQL টেবিল তৈরি করার সময় {} নয়, () ব্যবহার করা উচিত

  3. MySQL-এ রিজার্ভড কীওয়ার্ড 'Key' কলাম নাম হিসেবে ব্যবহার করা (ব্যাকটিক)

  4. জাভা ৯-এ module-info ফাইলে requires ক্লজের ব্যবহার