Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะสร้างบันทึกในฐานข้อมูล MySQL ภายใต้ตัวเลือก TTL (Time to live) ได้อย่างไร?


คุณต้องใช้ตัวกำหนดเวลาเหตุการณ์ MySQL มันจัดการการดำเนินการของเหตุการณ์ตลอดจนกำหนดการ

ขั้นแรก คุณต้องสร้างตาราง หลังจากนั้น คุณสามารถสร้างกิจกรรมที่จะกำหนดเวลาได้ทุกวัน

ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง EventDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> EventDateTime datetime -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.71 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า EventDemo(EventDateTime) ('2010-09-21'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า EventDemo (EventDateTime) ('2016-10-27');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า EventDemo (EventDateTime) ('2018-12-09'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงใน EventDemo (EventDateTime) ค่า ( '2019-03-12'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า EventDemo (EventDateTime) ('2019-01-04'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) 

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก EventDemo

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+---------------------+| รหัส | 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 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่อยู่ภายใต้ TTL (Time To Live) -

mysql> ตัวคั่น //mysql> สร้างกิจกรรม -> DeleteDemo -> ตามกำหนดเวลาทุก ๆ 1 วัน -> ทำ -> เริ่มต้น -> ลบจาก -> EventDemo -> WHERE EventDateTime  END //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.31 วินาที)