我試圖用'過期日期'更新MySQL表。我收集了我所有行的時間戳值,因爲人們已經註冊到表中,但現在我想創建相對於該時間戳的過期日期(而不是相對於當前時間)。這裏是我的代碼:相對於CURRENT_TIMESTAMP的更新行沒有給出正確的值
$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);
明白,這是正在運行的「而」循環所以它的運行通過表的每一行,因爲它進入一個更新它們。問題是我運行了一次,它所做的只是將「expiration_date」行更新爲NOW的56天,而不是56天后的時間戳值。時間戳在CURRENT_TIMESTAMP上設置,以便當我註冊一個新條目時,我認爲是問題所在。我回應了$ timestamp來排除故障,當我回應它時,它會迴應出正確的值(而不是當前時間),但是當它實際更新過期日期時,它似乎是從CURRENT_TIMESTAMP這一事實中繪製出來的。有沒有辦法顯式查詢時間戳的值?
我希望找到一種不涉及重構數據庫的方式。我知道我可以擁有它,而不是一個時間戳記行,我可以使它成爲一個日期時間行,並將其設置爲NOW()的值,當數據庫最初被查詢添加一行時,但我更願意找到一個解決方案表格當前的設置方式。謝謝!