我添加了一个应存储时间戳
值的新列。该值当前存在于另一个表中。因此,我尝试构建一个查询来使用另一个表更新我的新列。
这是我当前的查询:
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/