【问题标题】:How to store time created in MySQL table?如何存储在 MySQL 表中创建的时间?
【发布时间】:2010-12-30 17:08:36
【问题描述】:

我想将一行插入到 MySQL 表中的时间戳与该行一起存储,以便稍后与其他时间进行比较。什么是最好的字段类型,以及在 PHP 中插入带有时间戳的行的最佳方式是什么?

【问题讨论】:

    标签: php mysql datetime timestamp


    【解决方案1】:

    使用TIMESTAMP DEFAULT CURRENT_TIMESTAMP。这将创建一个在 INSERT 上设置的 TIMESTAMP 字段,而不是在 UPDATE 上设置。

    【讨论】:

    • 当我用 PHP 检索值时,如何让它返回自参考日期以来的秒数?
    • @Chetan, SELECT UNIX_TIMESTAMP(updated_at) as updated_at FROM Table;
    • 在您的 SELECT 查询中,添加另一列.. now()-timestamp_column as difference
    • @vava:返回 unix 时间戳值,而不是自当前日期以来的秒差。
    • 我有一个SELECT * 查询,我通过生成的数组中的索引访问返回值。有什么方法可以使用相同的 SELECT * 查询而不必有单独的 now()-timestamp_column as difference 查询?
    【解决方案2】:

    使用 TIMESTAMP 作为字段类型。所有 TIMESTAMP 字段类型都将 CURRENT_TIMESTAMP 作为默认值(这是 NOW() 的别名)

    添加记录时,将'' 写入该字段 - 它将采用默认时间作为值。

    【讨论】:

      【解决方案3】:

      使用DateTime datatype 设置列,NOW() function 设置当前时间,UNIX_TIMESTAMP() function 如果您需要使用 PHP 进行比较

      【讨论】:

        猜你喜欢
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 2011-07-15
        • 1970-01-01
        • 2016-12-02
        • 1970-01-01
        • 2012-03-02
        • 2016-04-11
        相关资源
        最近更新 更多