我想将 dealend 设置为 Yesterday 而不是现在。有没有办法在这个命令行中做到这一点?
$query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection));
... SET dealend = now() - INTERVAL 1 DAY
请注意,在'now()'
您使用的情况下,您没有使用名为“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() 函数,它将从当前时间中减去一天。