You need to use MySQL event scheduler. It manages the execution of events as well as scheduling.
First, you need to create a table. After that you can create a event that will schedule every single day.
Let us create a table. The query to create a table is as follows −
mysql> create table EventDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> EventDateTime datetime -> ); Query OK, 0 rows affected (0.71 sec)
Now you can insert some records in the table using insert command. The query is as follows −
mysql> insert into EventDemo(EventDateTime) values('2010-09-21'); Query OK, 1 row affected (0.19 sec) mysql> insert into EventDemo(EventDateTime) values('2016-10-27'); Query OK, 1 row affected (0.20 sec) mysql> insert into EventDemo(EventDateTime) values('2018-12-09'); Query OK, 1 row affected (0.10 sec) mysql> insert into EventDemo(EventDateTime) values('2019-03-12'); Query OK, 1 row affected (0.17 sec) mysql> insert into EventDemo(EventDateTime) values('2019-01-04'); Query OK, 1 row affected (0.15 sec)
Display all records from the table using select statement. The query is as follows −
mysql> select *from EventDemo
The following is the output −
+----+---------------------+ | Id | EventDateTime | +----+---------------------+ | 1 | 2010-09-21 00:00:00 | | 2 | 2016-10-27 00:00:00 | | 3 | 2018-12-09 00:00:00 | | 4 | 2019-03-12 00:00:00 | | 5 | 2019-01-04 00:00:00 | +----+---------------------+ 5 rows in set (0.00 sec)
Here is the query that is subject to TTL (Time To Live) −
mysql> delimiter // mysql> CREATE EVENT -> DeleteDemo -> ON SCHEDULE EVERY 1 DAY -> DO -> BEGIN -> DELETE FROM -> EventDemo -> WHERE EventDateTime < NOW(); -> END // Query OK, 0 rows affected (0.31 sec)