【问题标题】:Timestamp gets updated with zero时间戳更新为零
【发布时间】:2015-12-02 13:51:22
【问题描述】:

我需要更新数据类型为timestamp 的列。我运行以下查询:

update job_info set ProcessStartTime = UNIX_TIMESTAMP(CURDATE()) where JobID=4;

但它会更新一个值:0000-00-00 00:00:00 这可能是什么原因?查询不正确?

【问题讨论】:

    标签: mysql timestamp unix-timestamp


    【解决方案1】:

    不要使用 UNIX_TIMESTAMP,因为 MySQL UNIX_TIMESTAMP()seconds 中返回 Unix 时间戳,或者您的列类型是 datetime

    update job_info set ProcessStartTime =CURDATE() where JobID=4;
    

    或使用NOW()

    update job_info set ProcessStartTime =NOW() where JobID=4;
    

    【讨论】:

    • 当我尝试使用 curdate/now 插入时间戳时,它会插入日期字符串。这是为什么?我将如何运行一个查询来返回1448994600 和类似之间的时间戳值的数据?
    • 如果您的列类型是日期时间,则没有问题@SuhailGupta
    • 查看此链接了解更多详情@SuhailGupta
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多