我想将dealend设置为Yesterday而不是now。有没有办法在这个命令行中执行它?
$query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection));
答案 0 :(得分:5)
... SET dealend = now() - INTERVAL 1 DAY
请注意,对于您正在使用的'now()'
,您没有使用名为“now”的函数。您正在尝试将表字段设置为字符串,其内容为字母n
,o
,w
等....引用将字符串转换为字符串,这些内容会丢失一旦他们被击打,就会成为专业。
答案 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)