php - 在特定时间段后从数据库表中删除一行

标签 php mysql sql

<分区>



我正在一个数据库驱动的网站上工作,我正在使用 WAMP
当 registrationDate 是旧的时,mysql 是否可以自动从下表中删除一行- 例如 - 一个月?

谢谢

 ID  |  Name     |  registrationDate    
 1   |  client1  |  2017-05-09 05:23:16
 2   |  client2  |  2017-05-11 12:13:30 

最佳答案

您可以使用一个事件,例如:

CREATE EVENT deleteEachMonth
ON SCHEDULE EVERY 1 DAY STARTS '2017-05-01 00:00:00'
-- !!! no *END*: will continue until you explicitly drop the event
DO 
DELETE FROM my_table WHERE my_date <  DATE_SUB(curdate(), INTERVAL 1 MONTH);

在你的情况下

CREATE EVENT deleteEachMonth 
ON SCHEDULE EVERY 1 DAY STARTS '2017-05-01 00:00:00' 
DO 
DELETE FROM client WHERE registrationDate < DATE_SUB(curdate(), INTERVAL 1 MONTH) 

关于php - 在特定时间段后从数据库表中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44048984/

相关文章:

javascript - Sequelize : TypeError: Cannot read property '_expandIncludeAll' of undefined

mysql - 仅获取另一个表中(至多)1 列值的行

sql - 查找没有匹配条件的记录

sql - SSRS 在组内交替行颜色

php - 使用 Youtube API v3 从 Youtube channel 获取视频列表(没有烦人的身份验证弹出窗口)

PHP DOMDocument,只需要第一项

php - 通过 url 将整数传递给 php $_GET

php - MySQL : how to create a user and how to access the mysql localhost server using php

php - 链接选择与 php mysql jQuery

php - 如何在不使用多个查询语句的情况下将特定的 dbs 值分配给多个变量?