0

我添加了一个应该存储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

  • 列:连接日期( int )
  • 例子:1354290120
4

1 回答 1

2

采用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
于 2013-01-11T14:34:28.083 回答