如何存储当前日期

时间:2012-06-09 04:48:44

标签: mysql phpmyadmin

我们在表msgdate中选择了一个字段private_message。我们将msgdate的数据类型定义为datetime

当我们插入数据时,字段msgdate存储0000-00-00 00:00:00而不是当前日期。

$Query = "INSERT INTO private_message (id, sender, msgdate) VALUES ($_POST['id'],$_POST['to'], now()";
$Res = mysql_query($Query);

2 个答案:

答案 0 :(得分:0)

你确定这有效吗?

"INSERT INTO private_message (id, sender, msgdate) VALUES ($_POST['id'],$_POST['to'], now()"

或应该是:

INSERT INTO private_message (id, sender, msgdate) VALUES ($_POST['id'],$_POST['to'], now())"

答案 1 :(得分:0)

只是错过了一个括号

INSERT INTO private_message (id, sender, msgdate) VALUES ($_POST['id'],$_POST['to'], **OneOfTheseFunctions**)

用以下三个陈述替换 OneOfTheseFunctions

有三种方法可以在SQL SERVER中检索当前日期时间。

CURRENT_TIMESTAMP, GETDATE(), {fn NOW()}

<强> CURRENT_TIMESTAMP

CURRENT_TIMESTAMP是一个非确定性函数。无法索引引用此列的视图和表达式。每次生成报告时,CURRENT_TIMESTAMP都可用于打印当前日期和时间。

<强> GETDATE()

GETDATE是一个不确定的功能。无法索引引用此列的视图和表达式。每次生成报告时,GETDATE都可用于打印当前日期和时间。

{fn Now()}

{fn Now()}是一个ODBC规范函数,可以在T-SQL中使用,因为SQL Server的OLE DB提供程序支持它们。 {fn Now()}可用于在每次生成报告时打印当前日期和时间。

如果在查询分析器中运行以下脚本。我会给你相同的结果。如果您看到执行计划,则没有性能差异。对于所有三个select语句都是一样的。

SELECT CURRENT_TIMESTAMP
GO
SELECT {fn NOW()}
GO
SELECT GETDATE()
GO
不用担心,它们在功能和性能上都是相同的!