Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để tạo một bản ghi trong cơ sở dữ liệu MySQL tùy thuộc vào tùy chọn TTL (Thời gian tồn tại)?

Bạn cần sử dụng bộ lập lịch sự kiện MySQL. Nó quản lý việc thực hiện các sự kiện cũng như lập lịch trình.

Đầu tiên, bạn cần tạo một bảng. Sau đó, bạn có thể tạo một sự kiện sẽ lên lịch mỗi ngày.

Hãy để chúng tôi tạo một bảng. Truy vấn để tạo bảng như sau -

 mysql> tạo bảng EventDemo -> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> EventDateTime datetime ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,71 giây) 

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Truy vấn như sau -

 mysql> chèn vào các giá trị EventDemo (EventDateTime) ('2010-09-21'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào các giá trị EventDemo (EventDateTime) ('2016-10-27'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào các giá trị EventDemo (EventDateTime) ('2018-12-09'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào các giá trị EventDemo (EventDateTime) ( '2019-03-12'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị EventDemo (EventDateTime) ('2019-01-04'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây)  

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

 mysql> select * từ EventDemo 

Sau đây là kết quả -

 + ---- + --------------------- + | 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 hàng trong bộ (0,00 giây) 

Đây là truy vấn tuân theo TTL (Time To Live) -

 mysql> delimiter // mysql> CREATE EVENT -> DeleteDemo -> ON LỊCH TRÌNH MỖI NGÀY -> LÀM -> BẮT ĐẦU -> XÓA TỪ -> EventDemo -> WHERE EventDateTime  END // Truy vấn OK, 0 hàng bị ảnh hưởng (0,31 giây)