5

我想用 PHP 和 MySQL 插入昨天的那一天。所以我的想法是:

INTO chartValues SET timestamp='1353369600', `datetime`=DATEADD(d,-1,GETDATE())

但它不起作用:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 datetime第 1 行的 'INTO chartValues SET timestamp='1353369600', =DATEADD(d,-1,GETDATE())'附近使用正确的语法

提前致谢

4

4 回答 4

3

DATEADD并且GETDATE()是 SQL Server 中使用的 T-SQL 函数。

你想使用DATE_ADD()or DATE_SUB()withNOW()

INSERT INTO chartValues SET timestamp='1353369600', `datetime`= DATE_SUB(NOW(), INTERVAL 1 DAY)

参考

DATE_SUB(date, INTERVAL expr unit)

于 2012-11-21T16:18:20.043 回答
0

我相信你应该NOW()在 MySql 中使用,而不是getdate(). 请参阅Mysql 日期和时间函数

于 2012-11-21T16:18:15.577 回答
0

Date_add() 不是 dateadd() now() 不是 getdate()

底部的链接是我推荐的mysql编程的一个很好的参考。

所以datetime= date_add(d,-1,now())

http://www.w3schools.com/sql/func_date_add.asp

于 2012-11-21T16:18:17.873 回答
0

你可以在 php 中使用这样的东西:

date("F j, Y", time() - 60 * 60 * 24);

根据数据库中的数据类型,您可以使用您需要的格式更改“F j,Y”。

在mysql中是这样的:

CAST(NOW() - INTERVAL 1 DAY AS DATE). 
于 2012-11-21T16:18:58.213 回答