mysql - 将 int-timestamp 转换为时间戳(同时更新行)

标签 mysql join timestamp sql-update

我添加了一个应存储时间戳值的新列。该值当前存在于另一个表中。因此,我尝试构建一个查询来使用另一个表更新我的新列。

这是我当前的查询:

    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

  • 列:注册日期(时间戳)
  • 示例:2013-01-11 15:24:04

源表:va_user

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

最佳答案

使用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

关于mysql - 将 int-timestamp 转换为时间戳(同时更新行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14280231/

相关文章:

mysql - 更新/重置每个 ID 子集的列值(使用 "counter")

firebase - Flutter + Firebase - 在多个设备上同步倒计时

javascript - 将日期转换为时间戳以在 javascript 中存储到 firebase firestore

python - Pandas:如何将 MultiIndex DataFrame 与单个索引 DataFrame 连接起来,以及自定义排序

Ios- Parse.com 删除一个对象

MySQL - 如果记录不在,则加入为零

mysql - 求和MYSQL中多行时间戳之间累积时间的最佳方法

php - 使用 PHP 和 MySQL 更新多行

mysql - 从mysql到Hbase的持续数据迁移

mysql - 计算本周的值并将该值滚动到后续几周