PHP:将当前时间戳插入SQL Server 2005

时间:2008-10-27 09:31:16

标签: php sql-server

如何将current_timestamp插入带有时间戳列的SQL Server 2005数据库数据?

它应该很简单,但我不能让它工作。举例非常感谢。

6 个答案:

答案 0 :(得分:9)

如果您可以从PHP执行查询,那么它应该只是使用'getdate()';

update MyTable set MyColumn=getdate();

insert into MyTable (MyColumn) values (getdate());

答案 1 :(得分:6)

列数据类型应为datetime

您可以让数据库计算出日期:

$sql = 'INSERT INTO tablename (fieldname) VALUES (getdate())';

或让PHP计算出日期

$sql = 'INSERT INTO tablename (fieldname) VALUES (\'' . date('Y-m-d H:i:s') . '\')';

然后像mssql_execute($sql);,但这取决于你如何连接到你的数据库

答案 2 :(得分:3)

要将数据插入timeStamp字段,我认为您必须使用DEFAULT。 例如:

INSERT INTO User(username, EnterTS) VALUES ('user123', DEFAULT)

其中EnterTS是TimeStamp字段

答案 3 :(得分:2)

您只需使用常规机制将查询执行到SQL Server中,然后使用以下内容。

current_timestamp函数返回它

 insert into table (creation_date) VALUES (current_timestamp)

完整示例

CREATE table timestamp_test (creation_timestamp datetime)
INSERT INTO timestamp_test (creation_timestamp) VALUES (current_timestamp)
SELECT * FROM timestamp_test
DROP TABLE timestamp_test

答案 4 :(得分:0)

如果您解释了您收到的错误(并发布了插入或更新代码),则可能更容易查看您的问题所在。一个可能的问题是您必须插入日期时间字段(或者在2008年您也可以使用日期字段)。有时人们认为他们可以将当前日期插入时间戳字段,但即使此数据类型的名称看起来好像应该与日期相关,此数据类型也与日期和时间无关,并且不能接受日期数据。

答案 5 :(得分:0)

我意识到这是一篇很老的帖子,但我遇到了这个问题,并认为其他人也可能。

我所做的是使用datetime的数据类型在表中创建一个字段,然后对于默认值或绑定的列属性,我输入getdate()。现在输入表格的每条记录都有一个日期和时间戳。