【问题标题】:PHP: Inserting the current timestamp into SQL Server 2005PHP:将当前时间戳插入 SQL Server 2005
【发布时间】:2008-10-27 09:31:15
【问题描述】:

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

它应该很简单,但我无法让它工作。示例将不胜感激。

【问题讨论】:

    标签: php sql-server


    【解决方案1】:

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

    update MyTable set MyColumn=getdate();
    

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

    【讨论】:

    • 我没有意识到现在还有一个“current_timestamp”函数——getdate() 是我们在 SQLS6 中使用的。我认为 current_timestamp 更清晰。尽管名称如此,getdate() 确实返回时间戳,而不仅仅是日期。
    【解决方案2】:

    列数据类型应为日期时间

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

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

    或让 PHP 计算日期

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

    然后是 mssql_execute($sql); 之类的,但这取决于您连接到数据库的方式

    【讨论】:

      【解决方案3】:

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

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

      EnterTS 是一个时间戳字段

      【讨论】:

        【解决方案4】:

        您只需使用正常机制在 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
        

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

            我意识到这是一篇旧帖子,但我偶然发现了这篇文章,并认为其他人也可能这样做。

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-08-29
              • 2014-09-13
              • 1970-01-01
              • 2014-04-30
              • 1970-01-01
              相关资源
              最近更新 更多