我想設置dealend爲昨天而不是現在。有沒有辦法在這個命令行中做到這一點?我現在怎麼做()是昨天
$query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection));
我想設置dealend爲昨天而不是現在。有沒有辦法在這個命令行中做到這一點?我現在怎麼做()是昨天
$query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection));
... SET dealend = now() - INTERVAL 1 DAY
注意與'now()'
你使用,你不使用所謂的「現在」的功能。你試圖設置你的表字段是一個字符串,其內容是字母n
,o
,w
等....行情變成了字符串,這些東西失去了他們的專業,一旦他們被串起來。
now()是一個SQL函數,它由事務的開始時間決定。你可以通過調用
SET TIMESTAMP = ...
然而,對於這個工作,它需要在相同的事務中的UPDATE查詢更改了它的價值。我會建議,而不是在做這樣的事情:
UPDATE bookdeals SET dealend=DATE_SUB(NOW(), INTERVAL 1 DAYS) WHERE id='$pid'
此使用MySQL SUB_DATE()函數,它將減去一天內,從當前的時間。
它不應該是'DATE_SUB'? – Petah
不。您可以直接使用日期數學中的間隔。 –
其實CURDATE()適用於我的情況,但這是我提出的問題的正確答案。謝謝。 – user2816376