gpt4 book ai didi

php - 根据所选有效期,在 1 个月或 3 个月后删除行

转载 作者:行者123 更新时间:2023-11-29 06:45:21 25 4
gpt4 key购买 nike

我想删除数据库中存储 HTML 表单条目的旧记录,该表单包含

  1. 身份证
  2. 姓名
  3. 电子邮件
  4. date_of_entry(用户提交表单时记录的时间戳)
  5. 有效期(用户可以选择 30 天或 90 天作为有效期)

我想使该行过期并根据从 date_of_entry 中选择的有效期在 30/90 天后将其删除

我找到了这个,但是如何修改它以满足我的需要

DELETE FROM myTable WHERE date_of_entry < DATEADD(MONTH, -1, GETDATE())

另请注意,我使用的表单发送的值有效性为 30 或 90$duration = $_POST['duration'];

并且这个检查应该由MySQL本身执行。我正在使用 phpMyAdmin

最佳答案

基本上,您必须以这种方式删除当前日期超过 date_of_entry 加上 validity 天的过时行:

now() > date_add(date_of_entry, interval validity day)
create table tbl (id int, date_of_entry datetime, validity int);
insert into tbl values
(1, DATE_ADD(NOW(), INTERVAL -31 DAY), 30),
(1, DATE_ADD(NOW(), INTERVAL -29 DAY), 30),
(1, DATE_ADD(NOW(), INTERVAL -92 DAY), 90),
(1, DATE_ADD(NOW(), INTERVAL -89 DAY), 90);
delete 
from tbl
where now() > date_add(date_of_entry, interval validity day)
select * from tbl;
id | date_of_entry       | validity-: | :------------------ | -------: 1 | 2018-03-11 18:16:43 |       30 1 | 2018-01-10 18:16:43 |       90

dbfiddle here

关于php - 根据所选有效期,在 1 个月或 3 个月后删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49738074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com