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

ลบบันทึกที่ประทับเวลาที่เก่ากว่า 5 นาทีใน MySQL?


สำหรับสิ่งนี้ ให้ใช้คำสั่ง DELETE ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1851 (DueDate datetime ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1851 ('2019-12-03 21:30:35'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1851 ('2019-12-03 21:45 น. :00');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1851 ('2019-12-03 21:34:00'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

mysql> เลือก * จาก DemoTable1851;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+| DueDate |+--------------------+| 2019-12-03 21:30:35 || 2019-12-03 21:45:00 || 2019-12-03 21:34:00 |+---------------------+3 แถวในชุด (0.00 วินาที)

เวลาวันที่ปัจจุบันเป็นดังนี้ −

mysql> เลือกเลย ();+---------------------+| ตอนนี้() |+---------------------+| 2019-12-03 21:38:46 |+--------------------- +1 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อลบบันทึกที่มีการประทับเวลาเก่ากว่า 5 นาที -

mysql> ลบออกจาก DemoTable1851 โดยที่ DueDate <(NOW() - INTERVAL 5 MINUTE); ตกลง ตกลง 2 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> เลือก * จาก DemoTable1851;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+| DueDate |+--------------------+| 2019-12-03 21:45:00 |+--------------------- +1 แถวในชุด (0.00 วินาที)