【问题标题】:Convert int-timestamp to timestamp (while updating rows)将 int-timestamp 转换为时间戳(更新行时)
【发布时间】:2012-12-26 03:46:26
【问题描述】:

我添加了一个应该存储timestamp 值的新列。该值当前存在于另一个表中。所以我尝试构建一个查询来使用另一个表更新我的新列。

这是我当前的查询:

    UPDATE `gc_users` U 
    SET    `registration_date` = ( SELECT `joindate` 
                                   FROM    `vb_user` 
                                   WHERE   `username` = U.`name` 
                                   LIMIT 0,1
                                 )

问题是更新registration_date后的值是0000-00-00 00:00:00

新表:gc_users

  • 列:registration_date(时间戳)
  • 例如:2013-01-11 15:24:04

源表:va_user

  • 列:joindate (int)
  • 例如:1354290120

【问题讨论】:

    标签: mysql join timestamp sql-update


    【解决方案1】:

    使用FROM_UNIXTIME

    UPDATE  `gc_users` U
             INNER JOIN `vb_user` a
                ON a.`username` = U.`name`
    SET     u.`registration_date` = FROM_UNIXTIME(a.`joindate`)
    LIMIT   0,1
    

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2021-06-03
    • 2012-04-30
    • 1970-01-01
    • 2018-01-02
    相关资源
    最近更新 更多