我们在表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);
答案 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
不用担心,它们在功能和性能上都是相同的!