我正在尝试使用“到期日期”更新 MySQL 表。当人们注册到表中时,我已经为我的所有行收集了一个时间戳值,但现在我想创建一个相对于该时间戳的到期日期(而不是相对于当前时间)。这是我的代码:
$timestamp = $row['timestamp'];
$sql_update = "
UPDATE jobs
SET expiration_date = DATE_ADD('$timestamp',INTERVAL 56 DAY)";
$result_update = $mysqli->query($sql_update) or die($mysqli->error);
了解这是在“while”循环中运行的,因此它会遍历表的每一行并随时更新它们。问题是我运行了一次,它所做的只是将“expiration_date”行更新为从现在开始的 56 天,而不是从时间戳的值开始的 56 天。时间戳设置在 CURRENT_TIMESTAMP 上,用于注册新条目时,我认为这是问题所在。我已经回显了 $timestamp 以进行故障排除,当我回显它时它会回显正确的值(不是当前时间),但是当它实际更新到期日期时,它似乎是从它是一个 CURRENT_TIMESTAMP 的事实中得出的。有没有办法显式查询时间戳的值?
我希望找到一种不涉及重组数据库的方法。我知道我可以拥有它,而不是时间戳行,我可以将其设为日期时间行并将其设置为 NOW() 的值,当最初查询数据库以添加行但我更愿意在其中找到解决方案当前设置表的方式。谢谢!