我怎么做now()昨天

时间:2013-10-16 22:07:25

标签: php mysql

我想将dealend设置为Yesterday而不是now。有没有办法在这个命令行中执行它?

$query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection));

3 个答案:

答案 0 :(得分:5)

... SET dealend = now() - INTERVAL 1 DAY

请注意,对于您正在使用的'now()',您没有使用名为“now”的函数。您正在尝试将表字段设置为字符串,其内容为字母now等....引用将字符串转换为字符串,这些内容会丢失一旦他们被击打,就会成为专业。

答案 1 :(得分:0)

now()是一个SQL函数,由事务的开始时间决定。您可以通过调用

来更改它的值
SET TIMESTAMP = ...

但是,要使其工作,它需要与UPDATE查询处于同一个事务中。我推荐的是做类似的事情:

UPDATE bookdeals SET dealend=DATE_SUB(NOW(), INTERVAL 1 DAYS) WHERE id='$pid'

这使用MySQL SUB_DATE()函数,该函数将从当前时间减去一天。

答案 2 :(得分:0)

您可以使用MySQL DATE_SUB函数

... dealend=DATE_SUB(now(),INTERVAL 1 DAY) ...

Read here有关MySQL日期函数的更多信息

相关问题